diff --git a/admin-web/javascript-ant-design-vue/.env b/admin-web/javascript-ant-design-vue/.env new file mode 100644 index 00000000..6181c66e --- /dev/null +++ b/admin-web/javascript-ant-design-vue/.env @@ -0,0 +1,2 @@ + +VITE_APP_PROJECT_TITLE = 'SmartAdmin' \ No newline at end of file diff --git a/admin-web/javascript-ant-design-vue/.env.development b/admin-web/javascript-ant-design-vue/.env.development new file mode 100644 index 00000000..4618deed --- /dev/null +++ b/admin-web/javascript-ant-design-vue/.env.development @@ -0,0 +1,7 @@ + +VITE_APP_API_URL = 'http://localhost:10086/' + +VITE_APP_PROJECT_TITLE = 'SmartAdmin Dev' + +VITE_APP_PROFILE = 'dev' +VITE_APP_MODE = 'development' diff --git a/admin-web/javascript-ant-design-vue/.env.localhost b/admin-web/javascript-ant-design-vue/.env.localhost new file mode 100644 index 00000000..88c177ef --- /dev/null +++ b/admin-web/javascript-ant-design-vue/.env.localhost @@ -0,0 +1,7 @@ + +VITE_APP_API_URL = 'http://127.0.0.1:10086/admin' + +VITE_APP_PROJECT_TITLE = 'SmartAdmin Localhost' + +VITE_APP_PROFILE = 'local' +VITE_APP_MODE = 'local' \ No newline at end of file diff --git a/admin-web/javascript-ant-design-vue/.env.pre b/admin-web/javascript-ant-design-vue/.env.pre new file mode 100644 index 00000000..fb0d72e0 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/.env.pre @@ -0,0 +1,8 @@ + +VITE_APP_API_URL = 'http://localhost:10086/api' + +VITE_APP_PROJECT_TITLE = 'SmartAdmin PRE' + +VITE_APP_PROFILE = 'pre' + +VITE_APP_MODE = 'development' \ No newline at end of file diff --git a/admin-web/javascript-ant-design-vue/.env.production b/admin-web/javascript-ant-design-vue/.env.production new file mode 100644 index 00000000..b2e8e4d3 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/.env.production @@ -0,0 +1,6 @@ + +VITE_APP_API_URL = 'http://localhost:10086/api' + +VITE_APP_PROFILE = 'prod' + +VITE_APP_MODE = 'production' \ No newline at end of file diff --git a/admin-web/javascript-ant-design-vue/.env.sit b/admin-web/javascript-ant-design-vue/.env.sit new file mode 100644 index 00000000..c139f546 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/.env.sit @@ -0,0 +1,7 @@ + +VITE_APP_API_URL = 'http://sit-xmf-crm.renminyixue.cn/api/admin' + +VITE_APP_PROJECT_TITLE = 'SmartAdmin Sit' + +VITE_APP_PROFILE = 'sit' +VITE_APP_MODE = 'development' diff --git a/admin-web/javascript-ant-design-vue/.eslintignore b/admin-web/javascript-ant-design-vue/.eslintignore new file mode 100644 index 00000000..6869ab58 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/.eslintignore @@ -0,0 +1,17 @@ + +*.sh +node_modules +lib +*.md +*.woff +*.ttf +.vscode +.idea +dist +public +/docs +.husky +.local +/bin +Dockerfile +src/assets diff --git a/admin-web/javascript-ant-design-vue/.eslintrc.js b/admin-web/javascript-ant-design-vue/.eslintrc.js new file mode 100644 index 00000000..43d58245 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/.eslintrc.js @@ -0,0 +1,76 @@ +module.exports = { + root: true, + env: { + browser: true, + es2021: true, + node: true, + }, + parser: 'vue-eslint-parser', + parserOptions: { + ecmaVersion: 12, + parser: '@typescript-eslint/parser', + sourceType: 'module', + }, + extends: [ + 'plugin:vue/vue3-essential', + 'eslint:recommended', + 'plugin:vue/base' + ], + globals: { + defineProps: "readonly", + defineEmits: "readonly", + defineExpose: "readonly", + withDefaults: "readonly" + }, + plugins: ['vue', '@typescript-eslint'], + rules: { + '@typescript-eslint/ban-ts-ignore': 'off', + '@typescript-eslint/explicit-function-return-type': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/no-empty-function': 'off', + 'vue/custom-event-name-casing': 'off', + 'no-use-before-define': 'off', + '@typescript-eslint/no-use-before-define': 'off', + '@typescript-eslint/ban-ts-comment': 'off', + '@typescript-eslint/ban-types': 'off', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/explicit-module-boundary-types': 'off', + '@typescript-eslint/no-unused-vars': [ + 'error', + // we are only using this rule to check for unused arguments since TS + // catches unused variables but not args. + { varsIgnorePattern: '.*', args: 'none' } + ], + 'no-unused-vars': [ + 'error', + // we are only using this rule to check for unused arguments since TS + // catches unused variables but not args. + { varsIgnorePattern: '.*', args: 'none' } + ], + 'space-before-function-paren': 'off', + + 'vue/attributes-order': 'off', + 'vue/one-component-per-file': 'off', + 'vue/html-closing-bracket-newline': 'off', + 'vue/max-attributes-per-line': 'off', + 'vue/multiline-html-element-content-newline': 'off', + 'vue/singleline-html-element-content-newline': 'off', + 'vue/attribute-hyphenation': 'off', + 'vue/require-default-prop': 'off', + 'vue/html-self-closing': [ + 'error', + { + html: { + void: 'always', + normal: 'never', + component: 'always', + }, + svg: 'always', + math: 'always', + }, + ], + // Enable vue/script-setup-uses-vars rule + 'vue/script-setup-uses-vars': 'error', + } +}; diff --git a/admin-web/javascript-ant-design-vue/.gitignore b/admin-web/javascript-ant-design-vue/.gitignore new file mode 100644 index 00000000..f4f9f437 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/.gitignore @@ -0,0 +1,6 @@ +node_modules +.DS_Store +dist +dist-ssr +*.local +.idea diff --git a/admin-web/javascript-ant-design-vue/.prettierrc.js b/admin-web/javascript-ant-design-vue/.prettierrc.js new file mode 100644 index 00000000..5e6a08b2 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/.prettierrc.js @@ -0,0 +1,21 @@ +module.exports = { + printWidth: 150,// 每行字符长度 + tabWidth: 2,// 缩进空格数 + useTabs: false,//不用tab缩进 + semi: true,//// 在语句末尾打印分号 + singleQuote: true,// 使用单引号而不是双引号 + vueIndentScriptAndStyle: true,//Vue文件脚本和样式标签缩进 + quoteProps: 'as-needed',// 更改引用对象属性的时间 可选值"" + jsxSingleQuote: false,// 在JSX中使用单引号而不是双引号 + trailingComma: 'es5',//多行时尽可能打印尾随逗号。(例如,单行数组永远不会出现逗号结尾。) 可选值"",默认none + bracketSpacing: true,// 在对象文字中的括号之间打印空格 + jsxBracketSameLine: false,//jsx 标签的反尖括号需要换行 + arrowParens: 'always',// 在单独的箭头函数参数周围包括括号 always:(x) => x \ avoid:x => x + rangeStart: 0,// 这两个选项可用于格式化以给定字符偏移量(分别包括和不包括)开始和结束的代码 + rangeEnd: Infinity, + requirePragma: false,// 指定要使用的解析器,不需要写文件开头的 @prettier + insertPragma: false,// 不需要自动在文件开头插入 @prettier + proseWrap: 'preserve',// 使用默认的折行标准 always\never\preserve + htmlWhitespaceSensitivity: 'css',// 指定HTML文件的全局空格敏感度 css\strict\ignore + endOfLine: 'lf',// 换行符使用 lf 结尾是 可选值"" +}; diff --git a/admin-web/javascript-ant-design-vue/.stylelintignore b/admin-web/javascript-ant-design-vue/.stylelintignore new file mode 100644 index 00000000..05170761 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/.stylelintignore @@ -0,0 +1,3 @@ +/dist/* +/public/* +public/* diff --git a/admin-web/javascript-ant-design-vue/.stylelintrc.js b/admin-web/javascript-ant-design-vue/.stylelintrc.js new file mode 100644 index 00000000..06951edd --- /dev/null +++ b/admin-web/javascript-ant-design-vue/.stylelintrc.js @@ -0,0 +1,70 @@ +module.exports = { + root: true, + plugins: ['stylelint-order'], + extends: ['stylelint-config-standard', 'stylelint-config-prettier'], + rules: { + 'selector-pseudo-class-no-unknown': [ + true, + { + ignorePseudoClasses: ['global'], + }, + ], + 'selector-pseudo-element-no-unknown': [ + true, + { + ignorePseudoElements: ['v-deep'], + }, + ], + 'at-rule-no-unknown': [ + true, + { + ignoreAtRules: [ + 'tailwind', + 'apply', + 'variants', + 'responsive', + 'screen', + 'function', + 'if', + 'each', + 'include', + 'mixin', + ], + }, + ], + 'no-empty-source': null, + 'named-grid-areas-no-invalid': null, + 'unicode-bom': 'never', + 'no-descending-specificity': null, + 'font-family-no-missing-generic-family-keyword': null, + 'declaration-colon-space-after': 'always-single-line', + 'declaration-colon-space-before': 'never', + // 'declaration-block-trailing-semicolon': 'always', + 'rule-empty-line-before': [ + 'always', + { + ignore: ['after-comment', 'first-nested'], + }, + ], + 'unit-no-unknown': [true, { ignoreUnits: ['rpx'] }], + 'order/order': [ + [ + 'dollar-variables', + 'custom-properties', + 'at-rules', + 'declarations', + { + type: 'at-rule', + name: 'supports', + }, + { + type: 'at-rule', + name: 'media', + }, + 'rules', + ], + { severity: 'warning' }, + ], + }, + ignoreFiles: ['**/*.js', '**/*.jsx', '**/*.tsx', '**/*.ts'], +}; diff --git a/admin-web/javascript-ant-design-vue/README.en.md b/admin-web/javascript-ant-design-vue/README.en.md new file mode 100644 index 00000000..8b59d547 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/README.en.md @@ -0,0 +1,36 @@ +__# smart-admin2 + +#### Description +{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**} + +#### Software Architecture +Software architecture description + +#### Installation + +1. xxxx +2. xxxx +3. xxxx + +#### Instructions + +1. xxxx +2. xxxx +3. xxxx + +#### Contribution + +1. Fork the repository +2. Create Feat_xxx branch +3. Commit your code +4. Create Pull Request + + +#### Gitee Feature + +1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md +2. Gitee blog [blog.gitee.com](https://blog.gitee.com) +3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) +4. The most valuable open source project [GVP](https://gitee.com/gvp) +5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) +6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/admin-web/javascript-ant-design-vue/README.md b/admin-web/javascript-ant-design-vue/README.md new file mode 100644 index 00000000..e69de29b diff --git a/admin-web/javascript-ant-design-vue/index.html b/admin-web/javascript-ant-design-vue/index.html new file mode 100644 index 00000000..b1b89a08 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/index.html @@ -0,0 +1,24 @@ + + + + + + + + + SmartAdmin + + + +
+ + + diff --git a/admin-web/javascript-ant-design-vue/package-lock.json b/admin-web/javascript-ant-design-vue/package-lock.json new file mode 100644 index 00000000..e9783199 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/package-lock.json @@ -0,0 +1,5012 @@ +{ + "version": "0.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@ant-design/colors": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/@ant-design/colors/download/@ant-design/colors-5.1.1.tgz", + "integrity": "sha1-gAshhrHifmZDLmfQPtlq8+IdiUA=", + "requires": { + "@ctrl/tinycolor": "^3.3.1" + } + }, + "@ant-design/icons-svg": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/@ant-design/icons-svg/download/@ant-design/icons-svg-4.1.0.tgz", + "integrity": "sha1-SAsCX0sg73/o9H1KSEbk/uhOoGw=" + }, + "@ant-design/icons-vue": { + "version": "6.0.1", + "resolved": "https://registry.npm.taobao.org/@ant-design/icons-vue/download/@ant-design/icons-vue-6.0.1.tgz?cache=0&sync_timestamp=1611990835390&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40ant-design%2Ficons-vue%2Fdownload%2F%40ant-design%2Ficons-vue-6.0.1.tgz", + "integrity": "sha1-nYBMPHTSz6+XyxjlgtO5QAk09f0=", + "requires": { + "@ant-design/colors": "^5.0.0", + "@ant-design/icons-svg": "^4.0.0", + "@types/lodash": "^4.14.165", + "lodash": "^4.17.15" + } + }, + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.12.11.tgz?cache=0&sync_timestamp=1623280355998&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.12.11.tgz", + "integrity": "sha1-9K1DWqJj25NbjxDyxVLSP7cWpj8=", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/compat-data": { + "version": "7.14.7", + "resolved": "https://registry.nlark.com/@babel/compat-data/download/@babel/compat-data-7.14.7.tgz", + "integrity": "sha1-ewR9ejqJpn0iWNxh9gTwmPG8fgg=", + "dev": true + }, + "@babel/core": { + "version": "7.14.6", + "resolved": "https://registry.nlark.com/@babel/core/download/@babel/core-7.14.6.tgz?cache=0&sync_timestamp=1623708890157&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.14.6.tgz", + "integrity": "sha1-4IFOwalQAy/xbBOich3jmoQW/Ks=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helpers": "^7.14.6", + "@babel/parser": "^7.14.6", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.14.5.tgz?cache=0&sync_timestamp=1623280355998&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.14.5.tgz", + "integrity": "sha1-I7CNdA6D9JxeWZRfvxtD6Au/Tts=", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz", + "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463550093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/generator/download/@babel/generator-7.14.5.tgz?cache=0&sync_timestamp=1623280360946&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.14.5.tgz", + "integrity": "sha1-hI17nwMcrKnQzQrwGwY/Im9S14U=", + "dev": true, + "requires": { + "@babel/types": "^7.14.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-compilation-targets": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.14.5.tgz", + "integrity": "sha1-epnF0JZ5Eely/iw0EffVtJhJjs8=", + "dev": true, + "requires": { + "@babel/compat-data": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463550093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-function-name/download/@babel/helper-function-name-7.14.5.tgz?cache=0&sync_timestamp=1623280385237&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-function-name%2Fdownload%2F%40babel%2Fhelper-function-name-7.14.5.tgz", + "integrity": "sha1-ieLEdJcvFdjiM7Uu6MSA4s/NUMQ=", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.14.5.tgz?cache=0&sync_timestamp=1623280360950&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-get-function-arity%2Fdownload%2F%40babel%2Fhelper-get-function-arity-7.14.5.tgz", + "integrity": "sha1-Jfv6V5sJN+7h87gF7OTOOYxDGBU=", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.14.5.tgz?cache=0&sync_timestamp=1623280361512&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-hoist-variables%2Fdownload%2F%40babel%2Fhelper-hoist-variables-7.14.5.tgz", + "integrity": "sha1-4N0nwzp45XfXyIhJFqPn7x98f40=", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.14.7", + "resolved": "https://registry.nlark.com/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.14.7.tgz", + "integrity": "sha1-l+ViRL65QhH+J3vYGOOjKcZveXA=", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.14.5.tgz?cache=0&sync_timestamp=1623280362184&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-module-imports%2Fdownload%2F%40babel%2Fhelper-module-imports-7.14.5.tgz", + "integrity": "sha1-bRpE32o4yVeqfDEtoHZCnxG0IvM=", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.14.5.tgz?cache=0&sync_timestamp=1623280992002&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.14.5.tgz", + "integrity": "sha1-feQvENeJtCPrkC69JAMcp3yx4Q4=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-simple-access": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.14.5.tgz?cache=0&sync_timestamp=1623280360981&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-optimise-call-expression%2Fdownload%2F%40babel%2Fhelper-optimise-call-expression-7.14.5.tgz", + "integrity": "sha1-8nOVqGGeBmWz8DZM3bQcJdcbSZw=", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-replace-supers": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.14.5.tgz", + "integrity": "sha1-DswLA8Qc1We0Ak6gFhNMKEFKu5Q=", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-simple-access/download/@babel/helper-simple-access-7.14.5.tgz?cache=0&sync_timestamp=1623280360968&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-simple-access%2Fdownload%2F%40babel%2Fhelper-simple-access-7.14.5.tgz", + "integrity": "sha1-ZuqFz1O6C05Yi6d/yBP1OryqQcQ=", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.14.5.tgz?cache=0&sync_timestamp=1623280365934&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-split-export-declaration%2Fdownload%2F%40babel%2Fhelper-split-export-declaration-7.14.5.tgz", + "integrity": "sha1-IrI6VO9RwrdgXYUZMMGXbdC8aTo=", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.14.5.tgz?cache=0&sync_timestamp=1623280518972&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.14.5.tgz", + "integrity": "sha1-0PDid8US4Mk4J3+qhaOWjJpEwOg=" + }, + "@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.14.5.tgz", + "integrity": "sha1-bnKh//GNXfy4eOHmLxoCHEty1aM=", + "dev": true + }, + "@babel/helpers": { + "version": "7.14.6", + "resolved": "https://registry.nlark.com/@babel/helpers/download/@babel/helpers-7.14.6.tgz?cache=0&sync_timestamp=1623708882051&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelpers%2Fdownload%2F%40babel%2Fhelpers-7.14.6.tgz", + "integrity": "sha1-W1gwa5XxtH4qAZlDT6hlj6bCFjU=", + "dev": true, + "requires": { + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/highlight/download/@babel/highlight-7.14.5.tgz", + "integrity": "sha1-aGGlLwOWZAUAH2qlNKAaJNmejNk=", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1618995384030&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + } + } + }, + "@babel/parser": { + "version": "7.14.7", + "resolved": "https://registry.nlark.com/@babel/parser/download/@babel/parser-7.14.7.tgz", + "integrity": "sha1-YJlyDIg5yoZaJjfmyFhS6tC9tZU=" + }, + "@babel/runtime": { + "version": "7.15.3", + "resolved": "https://registry.nlark.com/@babel/runtime/download/@babel/runtime-7.15.3.tgz?cache=0&sync_timestamp=1628666503436&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.15.3.tgz", + "integrity": "sha1-LhwogMoRjlsvmYgyK9inZWoyUCs=", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/standalone": { + "version": "7.15.2", + "resolved": "https://registry.nlark.com/@babel/standalone/download/@babel/standalone-7.15.2.tgz", + "integrity": "sha1-08h3lDWxwx/evQUvAzN96uF/GbE=", + "dev": true + }, + "@babel/template": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/template/download/@babel/template-7.14.5.tgz", + "integrity": "sha1-qbydizM1T/blWpxg0RCSAKaJdPQ=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.14.5.tgz?cache=0&sync_timestamp=1623280355998&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.14.5.tgz", + "integrity": "sha1-I7CNdA6D9JxeWZRfvxtD6Au/Tts=", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + } + } + }, + "@babel/traverse": { + "version": "7.14.7", + "resolved": "https://registry.nlark.com/@babel/traverse/download/@babel/traverse-7.14.7.tgz", + "integrity": "sha1-ZAB8l3TP3Dq9I7B4C8GKPONjF1M=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.14.7", + "@babel/types": "^7.14.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.14.5.tgz?cache=0&sync_timestamp=1623280355998&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.14.5.tgz", + "integrity": "sha1-I7CNdA6D9JxeWZRfvxtD6Au/Tts=", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.nlark.com/globals/download/globals-11.12.0.tgz?cache=0&sync_timestamp=1622088047458&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglobals%2Fdownload%2Fglobals-11.12.0.tgz", + "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.5.tgz?cache=0&sync_timestamp=1623280355970&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.14.5.tgz", + "integrity": "sha1-O7mXuoKaIQTO2yBonEpbgSHTg/8=", + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "to-fast-properties": "^2.0.0" + } + }, + "@ctrl/tinycolor": { + "version": "3.4.0", + "resolved": "https://registry.npm.taobao.org/@ctrl/tinycolor/download/@ctrl/tinycolor-3.4.0.tgz", + "integrity": "sha1-w8WuVDyJfKqcKmhjC+01W+X5mQ8=" + }, + "@eslint/eslintrc": { + "version": "0.4.2", + "resolved": "https://registry.nlark.com/@eslint/eslintrc/download/@eslint/eslintrc-0.4.2.tgz?cache=0&sync_timestamp=1622843858887&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40eslint%2Feslintrc%2Fdownload%2F%40eslint%2Feslintrc-0.4.2.tgz", + "integrity": "sha1-9j0O8G9cDFfXbEq19j04NcUbAXk=", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-4.0.6.tgz", + "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", + "dev": true + } + } + }, + "@intlify/core-base": { + "version": "9.1.6", + "resolved": "https://registry.nlark.com/@intlify/core-base/download/@intlify/core-base-9.1.6.tgz", + "integrity": "sha1-iH++r+N9lVusUDGPMKxYmDnw2fs=", + "requires": { + "@intlify/devtools-if": "9.1.6", + "@intlify/message-compiler": "9.1.6", + "@intlify/message-resolver": "9.1.6", + "@intlify/runtime": "9.1.6", + "@intlify/shared": "9.1.6", + "@intlify/vue-devtools": "9.1.6" + } + }, + "@intlify/devtools-if": { + "version": "9.1.6", + "resolved": "https://registry.nlark.com/@intlify/devtools-if/download/@intlify/devtools-if-9.1.6.tgz", + "integrity": "sha1-c5sZXkMOJPv4+GTsilHiQ+M0c4U=", + "requires": { + "@intlify/shared": "9.1.6" + } + }, + "@intlify/message-compiler": { + "version": "9.1.6", + "resolved": "https://registry.nlark.com/@intlify/message-compiler/download/@intlify/message-compiler-9.1.6.tgz", + "integrity": "sha1-4+mRZcHm7MSWIRAXeZrlnhWwWhg=", + "requires": { + "@intlify/message-resolver": "9.1.6", + "@intlify/shared": "9.1.6", + "source-map": "0.6.1" + } + }, + "@intlify/message-resolver": { + "version": "9.1.6", + "resolved": "https://registry.nlark.com/@intlify/message-resolver/download/@intlify/message-resolver-9.1.6.tgz", + "integrity": "sha1-10k8nzJtX+sM2FOKZzW2SKkdjy8=" + }, + "@intlify/runtime": { + "version": "9.1.6", + "resolved": "https://registry.nlark.com/@intlify/runtime/download/@intlify/runtime-9.1.6.tgz", + "integrity": "sha1-vxVI2QNMgO75KwayQMs0fv+0H3E=", + "requires": { + "@intlify/message-compiler": "9.1.6", + "@intlify/message-resolver": "9.1.6", + "@intlify/shared": "9.1.6" + } + }, + "@intlify/shared": { + "version": "9.1.6", + "resolved": "https://registry.nlark.com/@intlify/shared/download/@intlify/shared-9.1.6.tgz", + "integrity": "sha1-0DyTAYmNbd/+KlTAPnZkF0+839k=" + }, + "@intlify/vue-devtools": { + "version": "9.1.6", + "resolved": "https://registry.nlark.com/@intlify/vue-devtools/download/@intlify/vue-devtools-9.1.6.tgz", + "integrity": "sha1-iPqt8gOVGioQEHRA+pm1j0Y31A0=", + "requires": { + "@intlify/message-resolver": "9.1.6", + "@intlify/runtime": "9.1.6", + "@intlify/shared": "9.1.6" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.nlark.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz", + "integrity": "sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U=", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.nlark.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.5.tgz?cache=0&sync_timestamp=1622792772584&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40nodelib%2Ffs.stat%2Fdownload%2F%40nodelib%2Ffs.stat-2.0.5.tgz", + "integrity": "sha1-W9Jir5Tp0lvR5xsF3u1Eh2oiLos=", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.7", + "resolved": "https://registry.nlark.com/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.7.tgz", + "integrity": "sha1-lMI9sY7kZT4Smr0m+wb4cKyeHuI=", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@rollup/plugin-node-resolve": { + "version": "13.0.4", + "resolved": "https://registry.nlark.com/@rollup/plugin-node-resolve/download/@rollup/plugin-node-resolve-13.0.4.tgz", + "integrity": "sha1-sQIi9BRaAZdArLdzhAITDYSGYMA=", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/@rollup/pluginutils/download/@rollup/pluginutils-3.1.0.tgz", + "integrity": "sha1-cGtFJO5tyLEDs8mVUz5a1oDAK5s=", + "dev": true, + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "dependencies": { + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.nlark.com/@types/estree/download/@types/estree-0.0.39.tgz?cache=0&sync_timestamp=1622612050840&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Festree%2Fdownload%2F%40types%2Festree-0.0.39.tgz", + "integrity": "sha1-4Xfmme4bjCLSMXTKqnQiZEOJUJ8=", + "dev": true + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/estree-walker/download/estree-walker-1.0.1.tgz", + "integrity": "sha1-MbxdYSyWtwQQa0d+bdXYqhOMtwA=", + "dev": true + } + } + }, + "@simonwep/pickr": { + "version": "1.8.1", + "resolved": "https://registry.nlark.com/@simonwep/pickr/download/@simonwep/pickr-1.8.1.tgz?cache=0&sync_timestamp=1620897298440&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40simonwep%2Fpickr%2Fdownload%2F%40simonwep%2Fpickr-1.8.1.tgz", + "integrity": "sha1-4TbL2cNF3bt9cesUr1RMeYFl1JU=", + "requires": { + "core-js": "^3.12.1", + "nanopop": "^2.1.0" + } + }, + "@stylelint/postcss-css-in-js": { + "version": "0.37.2", + "resolved": "https://registry.npm.taobao.org/@stylelint/postcss-css-in-js/download/@stylelint/postcss-css-in-js-0.37.2.tgz", + "integrity": "sha1-flqErRgfQjSiSAgDQipHuHSa89I=", + "dev": true, + "requires": { + "@babel/core": ">=7.9.0" + } + }, + "@stylelint/postcss-markdown": { + "version": "0.36.2", + "resolved": "https://registry.npm.taobao.org/@stylelint/postcss-markdown/download/@stylelint/postcss-markdown-0.36.2.tgz", + "integrity": "sha1-ClQMRpL43N/BPI41LBfnv+4rs5E=", + "dev": true, + "requires": { + "remark": "^13.0.0", + "unist-util-find-all-after": "^3.0.2" + } + }, + "@types/estree": { + "version": "0.0.48", + "resolved": "https://registry.nlark.com/@types/estree/download/@types/estree-0.0.48.tgz?cache=0&sync_timestamp=1622612050840&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Festree%2Fdownload%2F%40types%2Festree-0.0.48.tgz", + "integrity": "sha1-GNyAkbKF35DbLyWqfZBs/DlLf3Q=", + "dev": true + }, + "@types/js-cookie": { + "version": "2.2.7", + "resolved": "https://registry.nlark.com/@types/js-cookie/download/@types/js-cookie-2.2.7.tgz", + "integrity": "sha1-ImqeMWgINaYYjoh/OYjmDATT9qM=" + }, + "@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "dev": true + }, + "@types/lodash": { + "version": "4.14.172", + "resolved": "https://registry.nlark.com/@types/lodash/download/@types/lodash-4.14.172.tgz", + "integrity": "sha1-qtd0wo57/Xpn3iVAjgPuWow9Aoo=" + }, + "@types/mdast": { + "version": "3.0.3", + "resolved": "https://registry.nlark.com/@types/mdast/download/@types/mdast-3.0.3.tgz?cache=0&sync_timestamp=1621242009980&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fmdast%2Fdownload%2F%40types%2Fmdast-3.0.3.tgz", + "integrity": "sha1-LX1nGxzR6j3rMG6nUDbCoEB9Les=", + "dev": true, + "requires": { + "@types/unist": "*" + } + }, + "@types/minimist": { + "version": "1.2.1", + "resolved": "https://registry.nlark.com/@types/minimist/download/@types/minimist-1.2.1.tgz", + "integrity": "sha1-KD9mn/dte4Jg34q3pCYsyD2YglY=", + "dev": true + }, + "@types/mockjs": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/@types/mockjs/download/@types/mockjs-1.0.4.tgz", + "integrity": "sha1-5waVHV4ztPCku3Ox+LEk4m8IHeA=", + "dev": true + }, + "@types/node": { + "version": "16.4.13", + "resolved": "https://registry.nlark.com/@types/node/download/@types/node-16.4.13.tgz?cache=0&sync_timestamp=1628211811317&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-16.4.13.tgz", + "integrity": "sha1-ff2cFGYe3GXMzUOinrRUF0ZCNw0=", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.nlark.com/@types/normalize-package-data/download/@types/normalize-package-data-2.4.0.tgz?cache=0&sync_timestamp=1621242104575&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnormalize-package-data%2Fdownload%2F%40types%2Fnormalize-package-data-2.4.0.tgz", + "integrity": "sha1-5IbQ2XOW15vu3QpuM/RTT/a0lz4=", + "dev": true + }, + "@types/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.nlark.com/@types/nprogress/download/@types/nprogress-0.2.0.tgz?cache=0&sync_timestamp=1621242271973&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnprogress%2Fdownload%2F%40types%2Fnprogress-0.2.0.tgz", + "integrity": "sha1-hsWTaC1BmSEqBQnMPE1WK7vW5F8=", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/@types/parse-json/download/@types/parse-json-4.0.0.tgz?cache=0&sync_timestamp=1621242198435&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fparse-json%2Fdownload%2F%40types%2Fparse-json-4.0.0.tgz", + "integrity": "sha1-L4u0QUNNFjs1+4/9zNcTiSf/uMA=", + "dev": true + }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.nlark.com/@types/resolve/download/@types/resolve-1.17.1.tgz?cache=0&sync_timestamp=1621242543115&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fresolve%2Fdownload%2F%40types%2Fresolve-1.17.1.tgz", + "integrity": "sha1-Ov1q2JZ8d+Q3bFmKgt3Vj0bsRdY=", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/unist": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/@types/unist/download/@types/unist-2.0.3.tgz?cache=0&sync_timestamp=1621243983753&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Funist%2Fdownload%2F%40types%2Funist-2.0.3.tgz", + "integrity": "sha1-nAiGeYdvN061mD8VDUeHqm+zLX4=", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "4.28.0", + "resolved": "https://registry.nlark.com/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-4.28.0.tgz?cache=0&sync_timestamp=1624299411502&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Feslint-plugin%2Fdownload%2F%40typescript-eslint%2Feslint-plugin-4.28.0.tgz", + "integrity": "sha1-GmbwOyZIRDh7633IXh8dQDvRgD8=", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "4.28.0", + "@typescript-eslint/scope-manager": "4.28.0", + "debug": "^4.3.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "4.28.0", + "resolved": "https://registry.nlark.com/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-4.28.0.tgz?cache=0&sync_timestamp=1624299370816&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Fexperimental-utils%2Fdownload%2F%40typescript-eslint%2Fexperimental-utils-4.28.0.tgz", + "integrity": "sha1-ExZ+2ZEyBoS9wjWIE1rmIRWzDuA=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.28.0", + "@typescript-eslint/types": "4.28.0", + "@typescript-eslint/typescript-estree": "4.28.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "4.28.0", + "resolved": "https://registry.nlark.com/@typescript-eslint/parser/download/@typescript-eslint/parser-4.28.0.tgz", + "integrity": "sha1-JATBZ1GihhbvOrq3fI5R1oChLKo=", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "4.28.0", + "@typescript-eslint/types": "4.28.0", + "@typescript-eslint/typescript-estree": "4.28.0", + "debug": "^4.3.1" + } + }, + "@typescript-eslint/scope-manager": { + "version": "4.28.0", + "resolved": "https://registry.nlark.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.28.0.tgz?cache=0&sync_timestamp=1624295732180&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Fscope-manager%2Fdownload%2F%40typescript-eslint%2Fscope-manager-4.28.0.tgz", + "integrity": "sha1-ajAJ0qtkow/IoeJXoaMgBn82oM4=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.28.0", + "@typescript-eslint/visitor-keys": "4.28.0" + } + }, + "@typescript-eslint/types": { + "version": "4.28.0", + "resolved": "https://registry.nlark.com/@typescript-eslint/types/download/@typescript-eslint/types-4.28.0.tgz", + "integrity": "sha1-ozUE4c56xR/DkDX1/m8VB51Nr7A=", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.28.0", + "resolved": "https://registry.nlark.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.28.0.tgz?cache=0&sync_timestamp=1624299371640&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Ftypescript-estree%2Fdownload%2F%40typescript-eslint%2Ftypescript-estree-4.28.0.tgz", + "integrity": "sha1-5m1OWqLt5m/sivQ0iY/mGvEMcc8=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.28.0", + "@typescript-eslint/visitor-keys": "4.28.0", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.28.0", + "resolved": "https://registry.nlark.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.28.0.tgz", + "integrity": "sha1-JVxnyWbsKUEEFpppOdlvkciolDQ=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.28.0", + "eslint-visitor-keys": "^2.0.0" + } + }, + "@vitejs/plugin-legacy": { + "version": "1.5.1", + "resolved": "https://registry.nlark.com/@vitejs/plugin-legacy/download/@vitejs/plugin-legacy-1.5.1.tgz", + "integrity": "sha1-/vKhHAXYP1qxPS0E5S11usE8bmw=", + "dev": true, + "requires": { + "@babel/standalone": "^7.14.9", + "core-js": "^3.16.0", + "magic-string": "^0.25.7", + "regenerator-runtime": "^0.13.9", + "systemjs": "^6.10.2" + } + }, + "@vitejs/plugin-vue": { + "version": "1.4.0", + "resolved": "https://registry.nlark.com/@vitejs/plugin-vue/download/@vitejs/plugin-vue-1.4.0.tgz?cache=0&sync_timestamp=1628298033751&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vitejs%2Fplugin-vue%2Fdownload%2F%40vitejs%2Fplugin-vue-1.4.0.tgz", + "integrity": "sha1-lirgG3/RatQAeJjGTtY5E24SIVs=", + "dev": true + }, + "@vue/compiler-core": { + "version": "3.2.1", + "resolved": "https://registry.nlark.com/@vue/compiler-core/download/@vue/compiler-core-3.2.1.tgz?cache=0&sync_timestamp=1628541189114&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fcompiler-core%2Fdownload%2F%40vue%2Fcompiler-core-3.2.1.tgz", + "integrity": "sha1-jhMjL3rvjjCPstShBXGlZAJXBks=", + "requires": { + "@babel/parser": "^7.12.0", + "@babel/types": "^7.12.0", + "@vue/shared": "3.2.1", + "estree-walker": "^2.0.1", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.1", + "resolved": "https://registry.nlark.com/@vue/compiler-dom/download/@vue/compiler-dom-3.2.1.tgz?cache=0&sync_timestamp=1628541189208&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fcompiler-dom%2Fdownload%2F%40vue%2Fcompiler-dom-3.2.1.tgz", + "integrity": "sha1-XMaIc/GSjHua7oyKKEb382LLGrk=", + "requires": { + "@vue/compiler-core": "3.2.1", + "@vue/shared": "3.2.1" + } + }, + "@vue/compiler-sfc": { + "version": "3.2.1", + "resolved": "https://registry.nlark.com/@vue/compiler-sfc/download/@vue/compiler-sfc-3.2.1.tgz?cache=0&sync_timestamp=1628541189312&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fcompiler-sfc%2Fdownload%2F%40vue%2Fcompiler-sfc-3.2.1.tgz", + "integrity": "sha1-eAmymM8PvOYqLGKLffwegt2aOps=", + "dev": true, + "requires": { + "@babel/parser": "^7.13.9", + "@babel/types": "^7.13.0", + "@types/estree": "^0.0.48", + "@vue/compiler-core": "3.2.1", + "@vue/compiler-dom": "3.2.1", + "@vue/compiler-ssr": "3.2.1", + "@vue/shared": "3.2.1", + "consolidate": "^0.16.0", + "estree-walker": "^2.0.1", + "hash-sum": "^2.0.0", + "lru-cache": "^5.1.1", + "magic-string": "^0.25.7", + "merge-source-map": "^1.1.0", + "postcss": "^8.1.10", + "postcss-modules": "^4.0.0", + "postcss-selector-parser": "^6.0.4", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-ssr": { + "version": "3.2.1", + "resolved": "https://registry.nlark.com/@vue/compiler-ssr/download/@vue/compiler-ssr-3.2.1.tgz?cache=0&sync_timestamp=1628541189227&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fcompiler-ssr%2Fdownload%2F%40vue%2Fcompiler-ssr-3.2.1.tgz", + "integrity": "sha1-+QB2L4NILkTpJgwjIuPTMscRgmw=", + "dev": true, + "requires": { + "@vue/compiler-dom": "3.2.1", + "@vue/shared": "3.2.1" + } + }, + "@vue/devtools-api": { + "version": "6.0.0-beta.14", + "resolved": "https://registry.nlark.com/@vue/devtools-api/download/@vue/devtools-api-6.0.0-beta.14.tgz", + "integrity": "sha1-btLW+NZqklbJrQS//wgwm6h7lyM=" + }, + "@vue/reactivity": { + "version": "3.2.1", + "resolved": "https://registry.nlark.com/@vue/reactivity/download/@vue/reactivity-3.2.1.tgz", + "integrity": "sha1-DnHU7gCw0MpqYUGWbDC2iz9oUAI=", + "requires": { + "@vue/shared": "3.2.1" + } + }, + "@vue/runtime-core": { + "version": "3.2.1", + "resolved": "https://registry.nlark.com/@vue/runtime-core/download/@vue/runtime-core-3.2.1.tgz", + "integrity": "sha1-OWQRELL4T92juAuGgwgnt7XvBBo=", + "requires": { + "@vue/reactivity": "3.2.1", + "@vue/shared": "3.2.1" + } + }, + "@vue/runtime-dom": { + "version": "3.2.1", + "resolved": "https://registry.nlark.com/@vue/runtime-dom/download/@vue/runtime-dom-3.2.1.tgz", + "integrity": "sha1-CHzzb0CtCGlxLEFUaTxiDkeAYag=", + "requires": { + "@vue/runtime-core": "3.2.1", + "@vue/shared": "3.2.1", + "csstype": "^2.6.8" + } + }, + "@vue/shared": { + "version": "3.2.1", + "resolved": "https://registry.nlark.com/@vue/shared/download/@vue/shared-3.2.1.tgz", + "integrity": "sha1-Hx/ib+AzRATM4QdAtf+yZU8Sgao=" + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.nlark.com/acorn/download/acorn-7.4.1.tgz", + "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.3.1.tgz?cache=0&sync_timestamp=1599499185510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-jsx%2Fdownload%2Facorn-jsx-5.3.1.tgz", + "integrity": "sha1-/IZh4Rt6wVOcR9v+oucrOvNNJns=", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-4.1.1.tgz", + "integrity": "sha1-y7muJWv3UK8eqzRPIpqif+lLo0g=", + "dev": true + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz?cache=0&sync_timestamp=1618552978881&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "ant-design-vue": { + "version": "2.2.4", + "resolved": "https://registry.nlark.com/ant-design-vue/download/ant-design-vue-2.2.4.tgz", + "integrity": "sha1-OM36Zpr9ZhcOFO9G1HJ9M+KYR1A=", + "requires": { + "@ant-design/icons-vue": "^6.0.0", + "@babel/runtime": "^7.10.5", + "@simonwep/pickr": "~1.8.0", + "array-tree-filter": "^2.1.0", + "async-validator": "^3.3.0", + "dom-align": "^1.12.1", + "dom-scroll-into-view": "^2.0.0", + "lodash": "^4.17.21", + "lodash-es": "^4.17.15", + "moment": "^2.27.0", + "omit.js": "^2.0.0", + "scroll-into-view-if-needed": "^2.2.25", + "shallow-equal": "^1.0.0", + "vue-types": "^3.0.0", + "warning": "^4.0.0" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.2.tgz", + "integrity": "sha1-wFV8CWrzLxBhmPT04qODU343hxY=", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fargparse%2Fdownload%2Fargparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-tree-filter": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/array-tree-filter/download/array-tree-filter-2.1.0.tgz", + "integrity": "sha1-hzrAD+yDdJ8lWsjdCDgUtPYykZA=" + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-2.1.0.tgz?cache=0&sync_timestamp=1614624423985&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-union%2Fdownload%2Farray-union-2.1.0.tgz", + "integrity": "sha1-t5hCCtvrHego2ErNii4j0+/oXo0=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/arrify/download/arrify-1.0.1.tgz?cache=0&sync_timestamp=1619599511725&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farrify%2Fdownload%2Farrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/astral-regex/download/astral-regex-2.0.0.tgz", + "integrity": "sha1-SDFDxWeu7UeFdZwIZXhtx319LjE=", + "dev": true + }, + "async-validator": { + "version": "3.5.2", + "resolved": "https://registry.nlark.com/async-validator/download/async-validator-3.5.2.tgz?cache=0&sync_timestamp=1619755921381&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fasync-validator%2Fdownload%2Fasync-validator-3.5.2.tgz", + "integrity": "sha1-aOhmqWgk6LJpT/eoMcGiXETV5QA=" + }, + "autoprefixer": { + "version": "9.8.6", + "resolved": "https://registry.nlark.com/autoprefixer/download/autoprefixer-9.8.6.tgz", + "integrity": "sha1-O3NZTKG/kmYyDFrPFYjXTep0IQ8=", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "colorette": "^1.2.1", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1618995384030&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.nlark.com/postcss/download/postcss-7.0.36.tgz", + "integrity": "sha1-BW+M/6k5ZiqPWQWVDAfVKFZE38s=", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "axios": { + "version": "0.21.1", + "resolved": "https://registry.npm.taobao.org/axios/download/axios-0.21.1.tgz", + "integrity": "sha1-IlY0gZYvTWvemnbVFu8OXTwJsrg=", + "requires": { + "follow-redirects": "^1.10.0" + } + }, + "bail": { + "version": "1.0.5", + "resolved": "https://registry.nlark.com/bail/download/bail-1.0.5.tgz?cache=0&sync_timestamp=1621397830539&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbail%2Fdownload%2Fbail-1.0.5.tgz", + "integrity": "sha1-tvoTNASjksvB+MS/Y/WVM1Hnp3Y=", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.2.tgz?cache=0&sync_timestamp=1617714298273&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbalanced-match%2Fdownload%2Fbalanced-match-1.0.2.tgz", + "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.nlark.com/big.js/download/big.js-5.2.2.tgz", + "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.2.0.tgz?cache=0&sync_timestamp=1610299640881&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.2.0.tgz", + "integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=", + "dev": true + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz", + "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz?cache=0&sync_timestamp=1614010713935&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrace-expansion%2Fdownload%2Fbrace-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": "3.0.2", + "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", + "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.16.6", + "resolved": "https://registry.nlark.com/browserslist/download/browserslist-4.16.6.tgz?cache=0&sync_timestamp=1619789101558&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.16.6.tgz", + "integrity": "sha1-15ASd6WojlVO0wWxg+ybDAj2b6I=", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" + } + }, + "builtin-modules": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/builtin-modules/download/builtin-modules-3.2.0.tgz", + "integrity": "sha1-RdXbmefuXmvE82LgCL+RerUEmIc=", + "dev": true + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz", + "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=", + "dev": true + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-4.1.2.tgz?cache=0&sync_timestamp=1606869196008&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamel-case%2Fdownload%2Fcamel-case-4.1.2.tgz", + "integrity": "sha1-lygHKpVPgFIoIlpt7qazhGHhvVo=", + "dev": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=", + "dev": true + } + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603921882890&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true + }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.nlark.com/camelcase-keys/download/camelcase-keys-6.2.2.tgz?cache=0&sync_timestamp=1624608993530&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcamelcase-keys%2Fdownload%2Fcamelcase-keys-6.2.2.tgz", + "integrity": "sha1-XnVda6UaoiPsfT1S8ld4IQ+dw8A=", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + } + }, + "caniuse-lite": { + "version": "1.0.30001240", + "resolved": "https://registry.nlark.com/caniuse-lite/download/caniuse-lite-1.0.30001240.tgz?cache=0&sync_timestamp=1624686622197&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001240.tgz", + "integrity": "sha1-7BXRJbWQYCyHMVRcU1H/BUrS1S8=", + "dev": true + }, + "capital-case": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/capital-case/download/capital-case-1.0.4.tgz", + "integrity": "sha1-nRMCkjU8kkn2sA+lhSvuOKcX5mk=", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case-first": "^2.0.2" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=", + "dev": true + } + } + }, + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.1.tgz?cache=0&sync_timestamp=1618995384030&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.1.tgz", + "integrity": "sha1-yAs/qyi/Y3HmhjMl7uZ+YYt35q0=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1618559697170&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "change-case": { + "version": "4.1.2", + "resolved": "https://registry.npm.taobao.org/change-case/download/change-case-4.1.2.tgz?cache=0&sync_timestamp=1606867703975&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchange-case%2Fdownload%2Fchange-case-4.1.2.tgz", + "integrity": "sha1-/t/F8TYEXiOYwEEO5EH5VwRkHhI=", + "dev": true, + "requires": { + "camel-case": "^4.1.2", + "capital-case": "^1.0.4", + "constant-case": "^3.0.4", + "dot-case": "^3.0.4", + "header-case": "^2.0.4", + "no-case": "^3.0.4", + "param-case": "^3.0.4", + "pascal-case": "^3.1.2", + "path-case": "^3.0.4", + "sentence-case": "^3.0.4", + "snake-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=", + "dev": true + } + } + }, + "character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npm.taobao.org/character-entities/download/character-entities-1.2.4.tgz?cache=0&sync_timestamp=1615197575922&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcharacter-entities%2Fdownload%2Fcharacter-entities-1.2.4.tgz", + "integrity": "sha1-4Sw5Obfq9OWxXnrUxeKOHUjFsWs=", + "dev": true + }, + "character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/character-entities-legacy/download/character-entities-legacy-1.1.4.tgz", + "integrity": "sha1-lLwYRdznClu50uzHSHJWYSk9j8E=", + "dev": true + }, + "character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/character-reference-invalid/download/character-reference-invalid-1.1.4.tgz", + "integrity": "sha1-CDMpzaDq4nKrPbvzfpo4LBOvFWA=", + "dev": true + }, + "chokidar": { + "version": "3.5.2", + "resolved": "https://registry.nlark.com/chokidar/download/chokidar-3.5.2.tgz", + "integrity": "sha1-26OXb8rbAW9m/TZQIdkWANAcHnU=", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "clipboard": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.8.tgz", + "integrity": "sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ==", + "requires": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "clone-regexp": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/clone-regexp/download/clone-regexp-2.2.0.tgz?cache=0&sync_timestamp=1617892066413&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclone-regexp%2Fdownload%2Fclone-regexp-2.2.0.tgz", + "integrity": "sha1-fWXgCIXNh5ZAXDWnN+eoa3Qp428=", + "dev": true, + "requires": { + "is-regexp": "^2.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz", + "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colorette": { + "version": "1.2.2", + "resolved": "https://registry.npm.taobao.org/colorette/download/colorette-1.2.2.tgz?cache=0&sync_timestamp=1614259623635&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolorette%2Fdownload%2Fcolorette-1.2.2.tgz", + "integrity": "sha1-y8x51emcrqLb8Q6zom/Ys+as+pQ=", + "dev": true + }, + "compute-scroll-into-view": { + "version": "1.0.17", + "resolved": "https://registry.npm.taobao.org/compute-scroll-into-view/download/compute-scroll-into-view-1.0.17.tgz?cache=0&sync_timestamp=1614042424875&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcompute-scroll-into-view%2Fdownload%2Fcompute-scroll-into-view-1.0.17.tgz", + "integrity": "sha1-aojxis2dQunPS6pr7H4FImB6t6s=" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npm.taobao.org/connect/download/connect-3.7.0.tgz", + "integrity": "sha1-XUk0iRDKpeB6AYALAw0MNfIEhPg=", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566512593&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433816745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "consolidate": { + "version": "0.16.0", + "resolved": "https://registry.npm.taobao.org/consolidate/download/consolidate-0.16.0.tgz?cache=0&sync_timestamp=1599596640464&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconsolidate%2Fdownload%2Fconsolidate-0.16.0.tgz", + "integrity": "sha1-oRhkdokw8vGUMWYKZZBmaPX73BY=", + "dev": true, + "requires": { + "bluebird": "^3.7.2" + } + }, + "constant-case": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/constant-case/download/constant-case-3.0.4.tgz", + "integrity": "sha1-O4Sprq9M8x7EXmv13pG9+wWJ+vE=", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case": "^2.0.2" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=", + "dev": true + } + } + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.nlark.com/convert-source-map/download/convert-source-map-1.8.0.tgz", + "integrity": "sha1-8zc8MtIbTXgN2ABFFGhPt5HKQ2k=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "copy-anything": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/copy-anything/download/copy-anything-2.0.3.tgz", + "integrity": "sha1-hCQHugJGaw34RIGbvjuuu+XUXYc=", + "dev": true, + "requires": { + "is-what": "^3.12.0" + } + }, + "core-js": { + "version": "3.16.1", + "resolved": "https://registry.nlark.com/core-js/download/core-js-3.16.1.tgz?cache=0&sync_timestamp=1628444136511&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcore-js%2Fdownload%2Fcore-js-3.16.1.tgz", + "integrity": "sha1-9Ehc5cnzxqfLGPqASI4I02IJckk=" + }, + "cosmiconfig": { + "version": "7.0.0", + "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-7.0.0.tgz?cache=0&sync_timestamp=1596310591228&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-7.0.0.tgz", + "integrity": "sha1-75tE13OVnK5j3ezRIt4jhTtg+NM=", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz", + "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypto-js": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/crypto-js/download/crypto-js-4.0.0.tgz", + "integrity": "sha1-KQSrJnep0EKFai6i74DekuSjbcw=" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz", + "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=", + "dev": true + }, + "csstype": { + "version": "2.6.17", + "resolved": "https://registry.nlark.com/csstype/download/csstype-2.6.17.tgz?cache=0&sync_timestamp=1618818393132&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcsstype%2Fdownload%2Fcsstype-2.6.17.tgz", + "integrity": "sha1-TPMOuH4dGgBdi2UQ+VKSQT9qHA4=" + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1607566512593&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz", + "integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz?cache=0&sync_timestamp=1610348638646&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/decamelize-keys/download/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz?cache=0&sync_timestamp=1617771296262&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmap-obj%2Fdownload%2Fmap-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + } + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-4.2.2.tgz", + "integrity": "sha1-RNLqNnm49NT/ujPwPYZfwee/SVU=", + "dev": true + }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-3.0.1.tgz", + "integrity": "sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz", + "integrity": "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-align": { + "version": "1.12.2", + "resolved": "https://registry.nlark.com/dom-align/download/dom-align-1.12.2.tgz?cache=0&sync_timestamp=1621853230649&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdom-align%2Fdownload%2Fdom-align-1.12.2.tgz", + "integrity": "sha1-D4Fk69DJwhsMeQMQSTzYVYkqzUs=" + }, + "dom-scroll-into-view": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/dom-scroll-into-view/download/dom-scroll-into-view-2.0.1.tgz", + "integrity": "sha1-DezIUigB/Y0/HGujVadNOCxfmJs=" + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.nlark.com/dom-serializer/download/dom-serializer-0.2.2.tgz?cache=0&sync_timestamp=1621256858583&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdom-serializer%2Fdownload%2Fdom-serializer-0.2.2.tgz", + "integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-2.2.0.tgz", + "integrity": "sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc=", + "dev": true + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/entities/download/entities-2.2.0.tgz?cache=0&sync_timestamp=1611535326982&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-2.2.0.tgz", + "integrity": "sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=", + "dev": true + } + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-1.3.1.tgz", + "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.nlark.com/domhandler/download/domhandler-2.4.2.tgz", + "integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.nlark.com/domutils/download/domutils-1.7.0.tgz?cache=0&sync_timestamp=1622995212689&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomutils%2Fdownload%2Fdomutils-1.7.0.tgz", + "integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/dot-case/download/dot-case-3.0.4.tgz", + "integrity": "sha1-mytnDQCkMWZ6inW6Kc0bmICc51E=", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=", + "dev": true + } + } + }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.nlark.com/dotenv/download/dotenv-10.0.0.tgz?cache=0&sync_timestamp=1621633079842&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdotenv%2Fdownload%2Fdotenv-10.0.0.tgz", + "integrity": "sha1-PUInuPuV+BCWzdK2ZlP7LHCFuoE=", + "dev": true + }, + "echarts": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.1.2.tgz", + "integrity": "sha512-okUhO4sw22vwZp+rTPNjd/bvTdpug4K4sHNHyrV8NdAncIX9/AarlolFqtJCAYKGFYhUBNjIWu1EznFrSWTFxg==", + "requires": { + "tslib": "2.0.3", + "zrender": "5.1.1" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.759", + "resolved": "https://registry.nlark.com/electron-to-chromium/download/electron-to-chromium-1.3.759.tgz?cache=0&sync_timestamp=1624658593703&other_urls=https%3A%2F%2Fregistry.nlark.com%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.759.tgz", + "integrity": "sha1-sNZS03aDFHCkwjC6ch2iQnv7mWo=", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1614682818988&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz", + "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npm.taobao.org/enquirer/download/enquirer-2.3.6.tgz", + "integrity": "sha1-Kn/l3WNKHkElqXXsmU/1RW3Dc00=", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz?cache=0&sync_timestamp=1611535326982&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-1.1.2.tgz", + "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npm.taobao.org/errno/download/errno-0.1.8.tgz", + "integrity": "sha1-i7Ppx9Rjvkl2/4iPdrSAnrwugR8=", + "dev": true, + "optional": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz", + "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-module-lexer": { + "version": "0.7.1", + "resolved": "https://registry.nlark.com/es-module-lexer/download/es-module-lexer-0.7.1.tgz", + "integrity": "sha1-wsjg9G8t8GJ0za8N0/OzPgoLJn0=", + "dev": true + }, + "esbuild": { + "version": "0.12.11", + "resolved": "https://registry.nlark.com/esbuild/download/esbuild-0.12.11.tgz", + "integrity": "sha1-qyT3jKv0gefcdH59sV+cUJG+qhQ=", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/escalade/download/escalade-3.1.1.tgz?cache=0&sync_timestamp=1602567310672&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.1.1.tgz", + "integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-4.0.0.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-4.0.0.tgz", + "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=", + "dev": true + }, + "eslint": { + "version": "7.29.0", + "resolved": "https://registry.nlark.com/eslint/download/eslint-7.29.0.tgz", + "integrity": "sha1-7ip2SPLnKUheTQvWOD7B3qvIs8A=", + "dev": true, + "requires": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.2", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/eslint-utils/download/eslint-utils-2.1.0.tgz?cache=0&sync_timestamp=1620975524854&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-utils%2Fdownload%2Feslint-utils-2.1.0.tgz", + "integrity": "sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc=", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", + "dev": true + } + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-4.0.6.tgz", + "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.3.0", + "resolved": "https://registry.nlark.com/eslint-config-prettier/download/eslint-config-prettier-8.3.0.tgz?cache=0&sync_timestamp=1619270948988&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-config-prettier%2Fdownload%2Feslint-config-prettier-8.3.0.tgz", + "integrity": "sha1-90cbILb+ipqSVMxoRFQgKIai3Xo=", + "dev": true + }, + "eslint-plugin-prettier": { + "version": "3.4.0", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-prettier/download/eslint-plugin-prettier-3.4.0.tgz", + "integrity": "sha1-zbrTvx29Kxd+mCVzf+Y7R2oI8Mc=", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-plugin-vue": { + "version": "7.16.0", + "resolved": "https://registry.nlark.com/eslint-plugin-vue/download/eslint-plugin-vue-7.16.0.tgz?cache=0&sync_timestamp=1628592345667&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-plugin-vue%2Fdownload%2Feslint-plugin-vue-7.16.0.tgz", + "integrity": "sha1-f+n+oDmhkLEIMZwTgK31Q+9XcH0=", + "dev": true, + "requires": { + "eslint-utils": "^2.1.0", + "natural-compare": "^1.4.0", + "semver": "^6.3.0", + "vue-eslint-parser": "^7.10.0" + }, + "dependencies": { + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/eslint-utils/download/eslint-utils-2.1.0.tgz?cache=0&sync_timestamp=1620975524854&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-utils%2Fdownload%2Feslint-utils-2.1.0.tgz", + "integrity": "sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc=", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463550093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.1.1.tgz", + "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/eslint-utils/download/eslint-utils-3.0.0.tgz?cache=0&sync_timestamp=1620975524854&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-utils%2Fdownload%2Feslint-utils-3.0.0.tgz", + "integrity": "sha1-iuuvrOc0W7M1WdsKHxOh0tSMNnI=", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha1-9lMoJZMFknOSyTjtROsKXJsr0wM=", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.nlark.com/espree/download/espree-7.3.1.tgz", + "integrity": "sha1-8t8zC3Usb1UBn4vYm3ZgA5wbu7Y=", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesprima%2Fdownload%2Fesprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", + "dev": true + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/esquery/download/esquery-1.4.0.tgz?cache=0&sync_timestamp=1612565659324&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesquery%2Fdownload%2Fesquery-1.4.0.tgz", + "integrity": "sha1-IUj/w4uC6McFff7UhCWz5h8PJKU=", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz?cache=0&sync_timestamp=1596643087461&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz", + "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.3.0.tgz?cache=0&sync_timestamp=1598900128185&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesrecurse%2Fdownload%2Fesrecurse-4.3.0.tgz", + "integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz?cache=0&sync_timestamp=1596643087461&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz", + "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1596643087461&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz", + "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/estree-walker/download/estree-walker-2.0.2.tgz", + "integrity": "sha1-UvAQF4wqTBF6d1fP6UKtt9LaTKw=" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz?cache=0&sync_timestamp=1564535492241&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesutils%2Fdownload%2Fesutils-2.0.3.tgz", + "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=", + "dev": true + }, + "execall": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/execall/download/execall-2.0.0.tgz?cache=0&sync_timestamp=1617892843041&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexecall%2Fdownload%2Fexecall-2.0.0.tgz", + "integrity": "sha1-FqBrX+UJnffQC+XZwG7s3tFmO0U=", + "dev": true, + "requires": { + "clone-regexp": "^2.1.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz", + "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz?cache=0&sync_timestamp=1591599666712&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-3.1.3.tgz", + "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/fast-diff/download/fast-diff-1.2.0.tgz", + "integrity": "sha1-c+4RmC2Gyq95WYKNUZz+kn+sXwM=", + "dev": true + }, + "fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.nlark.com/fast-glob/download/fast-glob-3.2.7.tgz", + "integrity": "sha1-/Wy3otfpqnp4RhEehaGW1rL3ZqE=", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npm.taobao.org/fastest-levenshtein/download/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha1-mZD306iMxan/0fF0V0UlFwDUl+I=", + "dev": true + }, + "fastq": { + "version": "1.11.0", + "resolved": "https://registry.npm.taobao.org/fastq/download/fastq-1.11.0.tgz", + "integrity": "sha1-u5+5VaBxMKkY62PB9RYcwypdCFg=", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-6.0.1.tgz", + "integrity": "sha1-IRst2WWcsDlLBz5zI6w8kz1SICc=", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", + "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz", + "integrity": "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566512593&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433816745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz?cache=0&sync_timestamp=1597172141619&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/flat-cache/download/flat-cache-3.0.4.tgz?cache=0&sync_timestamp=1604831825098&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fflat-cache%2Fdownload%2Fflat-cache-3.0.4.tgz", + "integrity": "sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE=", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/flatted/download/flatted-3.1.1.tgz", + "integrity": "sha1-xLSJ6ACW2d8d/JfHmHGup8YXxGk=", + "dev": true + }, + "follow-redirects": { + "version": "1.14.1", + "resolved": "https://registry.nlark.com/follow-redirects/download/follow-redirects-1.14.1.tgz?cache=0&sync_timestamp=1620555234886&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.14.1.tgz", + "integrity": "sha1-2RFN7Qoc/dM04WTmZirQK/2R/0M=" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.3.2.tgz?cache=0&sync_timestamp=1612536422255&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.3.2.tgz", + "integrity": "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "generic-names": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/generic-names/download/generic-names-2.0.1.tgz", + "integrity": "sha1-+KN46tLMqno08DF7BVVIMq5BuHI=", + "dev": true, + "requires": { + "loader-utils": "^1.1.0" + } + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.2.tgz?cache=0&sync_timestamp=1603829637456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgensync%2Fdownload%2Fgensync-1.0.0-beta.2.tgz", + "integrity": "sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=", + "dev": true + }, + "get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.nlark.com/get-stdin/download/get-stdin-8.0.0.tgz", + "integrity": "sha1-y61qc/63X27rIrqeAfiaooqpelM=", + "dev": true + }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.nlark.com/glob/download/glob-7.1.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglob%2Fdownload%2Fglob-7.1.7.tgz", + "integrity": "sha1-Oxk+kjPwHULQs/eClLvutBj5SpA=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.nlark.com/glob-parent/download/glob-parent-5.1.2.tgz?cache=0&sync_timestamp=1620073245729&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglob-parent%2Fdownload%2Fglob-parent-5.1.2.tgz", + "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/global-modules/download/global-modules-2.0.0.tgz", + "integrity": "sha1-mXYFrSNF8n9RU5vqJldEISFcd4A=", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/global-prefix/download/global-prefix-3.0.0.tgz", + "integrity": "sha1-/IX3MGTfafUEIfR/iD/luRO6m5c=", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz?cache=0&sync_timestamp=1574116262707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-1.3.1.tgz", + "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "13.9.0", + "resolved": "https://registry.nlark.com/globals/download/globals-13.9.0.tgz?cache=0&sync_timestamp=1622088047458&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglobals%2Fdownload%2Fglobals-13.9.0.tgz", + "integrity": "sha1-S/K/Y1szShc/sdr3xeayGOzcBss=", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.0.4", + "resolved": "https://registry.nlark.com/globby/download/globby-11.0.4.tgz?cache=0&sync_timestamp=1623850220985&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglobby%2Fdownload%2Fglobby-11.0.4.tgz", + "integrity": "sha1-LLr/d8Lypi5x6bKBOme5ejowAaU=", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "globjoin": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/globjoin/download/globjoin-0.1.4.tgz", + "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=", + "dev": true + }, + "gonzales-pe": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/gonzales-pe/download/gonzales-pe-4.3.0.tgz", + "integrity": "sha1-/p3sXzxVfurQn/hoxlgmvlTQZ7M=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "requires": { + "delegate": "^3.1.2" + } + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz", + "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", + "dev": true, + "optional": true + }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/hard-rejection/download/hard-rejection-2.1.0.tgz", + "integrity": "sha1-HG7aXBaFxjlCdm15u0Cudzzs2IM=", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz", + "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz?cache=0&sync_timestamp=1618559697170&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-flag%2Fdownload%2Fhas-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhash-sum%2Fdownload%2Fhash-sum-2.0.0.tgz", + "integrity": "sha1-gdAbtd6OpKIUrV1urRtSNGCwtFo=", + "dev": true + }, + "header-case": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/header-case/download/header-case-2.0.4.tgz", + "integrity": "sha1-WkLmO1UXc0nPQFvrjXdayruSwGM=", + "dev": true, + "requires": { + "capital-case": "^1.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=", + "dev": true + } + } + }, + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-4.0.2.tgz?cache=0&sync_timestamp=1617826545071&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-4.0.2.tgz", + "integrity": "sha1-XkJVB+7eT+qEa3Ji8IOEVsQgmWE=", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-6.0.0.tgz?cache=0&sync_timestamp=1594427569171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-6.0.0.tgz", + "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz", + "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", + "dev": true + } + } + }, + "html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-3.1.0.tgz", + "integrity": "sha1-e15vfmZen7QfMAB+2eDUHpf7IUA=", + "dev": true + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz", + "integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.nlark.com/iconv-lite/download/iconv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/icss-utils/download/icss-utils-5.1.0.tgz?cache=0&sync_timestamp=1605801312995&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficss-utils%2Fdownload%2Ficss-utils-5.1.0.tgz", + "integrity": "sha1-xr5oWKvQE9do6YNmrkfiXViHsa4=", + "dev": true + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-5.1.8.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-5.1.8.tgz", + "integrity": "sha1-8VCotQo0KJsz4i9YiavU2AFvDlc=", + "dev": true + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz", + "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "dev": true, + "optional": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.3.0.tgz?cache=0&sync_timestamp=1608469480577&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-3.3.0.tgz", + "integrity": "sha1-NxYsJfy566oublPVtNiM4X2eDCs=", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/import-lazy/download/import-lazy-4.0.0.tgz", + "integrity": "sha1-6OtidIOgpD2jwD8+NVSL5csMwVM=", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-4.0.0.tgz?cache=0&sync_timestamp=1618679442183&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Findent-string%2Fdownload%2Findent-string-4.0.0.tgz", + "integrity": "sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npm.taobao.org/ini/download/ini-1.3.8.tgz?cache=0&sync_timestamp=1607907874824&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fini%2Fdownload%2Fini-1.3.8.tgz", + "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=", + "dev": true + }, + "is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/is-alphabetical/download/is-alphabetical-1.0.4.tgz", + "integrity": "sha1-nn1rlJFr4iFTdF0YTCmMv5hqaG0=", + "dev": true + }, + "is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/is-alphanumerical/download/is-alphanumerical-1.0.4.tgz?cache=0&sync_timestamp=1615453958702&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-alphanumerical%2Fdownload%2Fis-alphanumerical-1.0.4.tgz", + "integrity": "sha1-frmiQx+FX2se8aeOMm31FWlsTb8=", + "dev": true, + "requires": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz", + "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-2.0.5.tgz?cache=0&sync_timestamp=1604432327227&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-buffer%2Fdownload%2Fis-buffer-2.0.5.tgz", + "integrity": "sha1-68JS5ADSL/jXf6CYiIIaJKZYwZE=", + "dev": true + }, + "is-core-module": { + "version": "2.4.0", + "resolved": "https://registry.nlark.com/is-core-module/download/is-core-module-2.4.0.tgz?cache=0&sync_timestamp=1620592629366&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-core-module%2Fdownload%2Fis-core-module-2.4.0.tgz", + "integrity": "sha1-jp/I4VAnsBFBgCbpjw5vTYYwXME=", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/is-decimal/download/is-decimal-1.0.4.tgz", + "integrity": "sha1-ZaOllYocW2OnBuGzM9fNn2MNP6U=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-fullwidth-code-point%2Fdownload%2Fis-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz", + "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/is-hexadecimal/download/is-hexadecimal-1.0.4.tgz?cache=0&sync_timestamp=1615466008748&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-hexadecimal%2Fdownload%2Fis-hexadecimal-1.0.4.tgz", + "integrity": "sha1-zDXJdYjaS9Saju3WvECC1E3LI6c=", + "dev": true + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-module/download/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "dev": true + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-2.1.0.tgz?cache=0&sync_timestamp=1618600554597&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-obj%2Fdownload%2Fis-plain-obj-2.1.0.tgz", + "integrity": "sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=", + "dev": true + }, + "is-plain-object": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-3.0.1.tgz?cache=0&sync_timestamp=1599667338683&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-object%2Fdownload%2Fis-plain-object-3.0.1.tgz", + "integrity": "sha1-Zi2S0kwKpDAkB7DUXSHyJRyF+Fs=" + }, + "is-regexp": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-regexp/download/is-regexp-2.1.0.tgz?cache=0&sync_timestamp=1617816584210&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-regexp%2Fdownload%2Fis-regexp-2.1.0.tgz", + "integrity": "sha1-zXNKVoZOI7lWv058ZsOWpMCyLC0=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/is-unicode-supported/download/is-unicode-supported-0.1.0.tgz?cache=0&sync_timestamp=1618722953653&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-unicode-supported%2Fdownload%2Fis-unicode-supported-0.1.0.tgz", + "integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=", + "dev": true + }, + "is-what": { + "version": "3.14.1", + "resolved": "https://registry.npm.taobao.org/is-what/download/is-what-3.14.1.tgz?cache=0&sync_timestamp=1615169735707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-what%2Fdownload%2Fis-what-3.14.1.tgz", + "integrity": "sha1-4SIvRt3ahd6tD9HJ3xMXYOd3VcE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "js-cookie": { + "version": "2.2.1", + "resolved": "https://registry.nlark.com/js-cookie/download/js-cookie-2.2.1.tgz", + "integrity": "sha1-aeEG3F1YBolFYpAqpbrsN0Tpsrg=" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz?cache=0&sync_timestamp=1619345098261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-tokens%2Fdownload%2Fjs-tokens-4.0.0.tgz", + "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.nlark.com/js-yaml/download/js-yaml-3.14.1.tgz?cache=0&sync_timestamp=1618847165988&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.1.tgz", + "integrity": "sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz?cache=0&sync_timestamp=1603891175833&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsesc%2Fdownload%2Fjsesc-2.5.2.tgz", + "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npm.taobao.org/json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz", + "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", + "dev": true + }, + "klona": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/klona/download/klona-2.0.4.tgz?cache=0&sync_timestamp=1600226641291&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fklona%2Fdownload%2Fklona-2.0.4.tgz", + "integrity": "sha1-e7Hjr/sMuGJFR+9+j2cI6i4538A=", + "dev": true + }, + "known-css-properties": { + "version": "0.21.0", + "resolved": "https://registry.npm.taobao.org/known-css-properties/download/known-css-properties-0.21.0.tgz", + "integrity": "sha1-FfvQu7g0R/POCdivJH7UfGjt6A0=", + "dev": true + }, + "less": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/less/download/less-4.1.1.tgz", + "integrity": "sha1-Fb8lOpk5eR3GkIiMP/Qk8+bH7bo=", + "dev": true, + "requires": { + "copy-anything": "^2.0.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^2.5.2", + "parse-node-version": "^1.0.1", + "source-map": "~0.6.0", + "tslib": "^1.10.0" + } + }, + "less-loader": { + "version": "10.0.1", + "resolved": "https://registry.nlark.com/less-loader/download/less-loader-10.0.1.tgz", + "integrity": "sha1-wFqrpo0AQAggJ18hwq2Hy5+pkj8=", + "dev": true, + "requires": { + "klona": "^2.0.4" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.4.1.tgz", + "integrity": "sha1-rkViwAdHO5MqYgDUAyaN0v/8at4=", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz", + "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.21.tgz", + "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=" + }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npm.taobao.org/lodash-es/download/lodash-es-4.17.21.tgz", + "integrity": "sha1-Q+YmxG5lkbd1C+srUBFzkMYJ4+4=" + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/lodash.camelcase/download/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npm.taobao.org/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npm.taobao.org/lodash.merge/download/lodash.merge-4.6.2.tgz", + "integrity": "sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo=", + "dev": true + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npm.taobao.org/lodash.truncate/download/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/log-symbols/download/log-symbols-4.1.0.tgz", + "integrity": "sha1-P727lbRoOsn8eFER55LlWNSr1QM=", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, + "longest-streak": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/longest-streak/download/longest-streak-2.0.4.tgz?cache=0&sync_timestamp=1615193481278&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flongest-streak%2Fdownload%2Flongest-streak-2.0.4.tgz", + "integrity": "sha1-uFmZV9pbXatk3uP+MW+ndFl9kOQ=", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz", + "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-2.0.2.tgz?cache=0&sync_timestamp=1606867317282&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flower-case%2Fdownload%2Flower-case-2.0.2.tgz", + "integrity": "sha1-b6I3xj29xKgsoP2ILkci3F5jTig=", + "dev": true, + "requires": { + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=", + "dev": true + } + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz?cache=0&sync_timestamp=1594427569171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-5.1.1.tgz", + "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npm.taobao.org/magic-string/download/magic-string-0.25.7.tgz", + "integrity": "sha1-P0l9b9NMZpxnmNy4IfLvMfVEUFE=", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz?cache=0&sync_timestamp=1587567875186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-2.1.0.tgz", + "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", + "dev": true, + "optional": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463550093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true, + "optional": true + } + } + }, + "map-obj": { + "version": "4.2.1", + "resolved": "https://registry.npm.taobao.org/map-obj/download/map-obj-4.2.1.tgz?cache=0&sync_timestamp=1617771296262&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmap-obj%2Fdownload%2Fmap-obj-4.2.1.tgz", + "integrity": "sha1-5Oo5nbyXmuc1yDyGPdMb3zZCd7c=", + "dev": true + }, + "mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.nlark.com/mathml-tag-names/download/mathml-tag-names-2.1.3.tgz", + "integrity": "sha1-TdrdZzCOeAzxakdoWHjuJ7c2oKM=", + "dev": true + }, + "mdast-util-from-markdown": { + "version": "0.8.5", + "resolved": "https://registry.nlark.com/mdast-util-from-markdown/download/mdast-util-from-markdown-0.8.5.tgz?cache=0&sync_timestamp=1624394132113&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmdast-util-from-markdown%2Fdownload%2Fmdast-util-from-markdown-0.8.5.tgz", + "integrity": "sha1-0e8spCvDd+ywRjqYeRDa6JvZoow=", + "dev": true, + "requires": { + "@types/mdast": "^3.0.0", + "mdast-util-to-string": "^2.0.0", + "micromark": "~2.11.0", + "parse-entities": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, + "mdast-util-to-markdown": { + "version": "0.6.5", + "resolved": "https://registry.nlark.com/mdast-util-to-markdown/download/mdast-util-to-markdown-0.6.5.tgz", + "integrity": "sha1-sz9nyoINaebMUnqT1AOSSbUEvr4=", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "longest-streak": "^2.0.0", + "mdast-util-to-string": "^2.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.0.0", + "zwitch": "^1.0.0" + } + }, + "mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/mdast-util-to-string/download/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha1-uM/mpxPhCRy1tyj8SIhaR2f4uXs=", + "dev": true + }, + "meow": { + "version": "9.0.0", + "resolved": "https://registry.nlark.com/meow/download/meow-9.0.0.tgz", + "integrity": "sha1-zZUQvFysne59A8c+4fmtlZ9Oo2Q=", + "dev": true, + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "dependencies": { + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.18.1.tgz", + "integrity": "sha1-20vBUaSiz07r+a3V23VQjbbMhB8=", + "dev": true + } + } + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/merge-source-map/download/merge-source-map-1.1.0.tgz", + "integrity": "sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=", + "dev": true, + "requires": { + "source-map": "^0.6.1" + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz", + "integrity": "sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=", + "dev": true + }, + "micromark": { + "version": "2.11.4", + "resolved": "https://registry.nlark.com/micromark/download/micromark-2.11.4.tgz", + "integrity": "sha1-0TQ2E47qgmOD6CJEnJpcUO5EZlo=", + "dev": true, + "requires": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.4.tgz?cache=0&sync_timestamp=1618054885525&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-4.0.4.tgz", + "integrity": "sha1-iW1Rnf6dsl/OlM63pQCRm/iB6/k=", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz", + "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", + "dev": true, + "optional": true + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/min-indent/download/min-indent-1.0.1.tgz", + "integrity": "sha1-pj9oFnOzBXH76LwlaGrnRu76mGk=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz", + "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=", + "dev": true + }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/minimist-options/download/minimist-options-4.1.0.tgz", + "integrity": "sha1-wGVXE8U6ii69d/+iR9NCxA8BBhk=", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz?cache=0&sync_timestamp=1618600554597&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-obj%2Fdownload%2Fis-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + } + } + }, + "mitt": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/mitt/download/mitt-3.0.0.tgz", + "integrity": "sha1-ae+b1cgP9vV0c+jYkybQHEFL4L0=" + }, + "moment": { + "version": "2.29.1", + "resolved": "https://registry.npm.taobao.org/moment/download/moment-2.29.1.tgz?cache=0&sync_timestamp=1601983517363&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmoment%2Fdownload%2Fmoment-2.29.1.tgz", + "integrity": "sha1-sr52n6MZQL6e7qZGnAdeNQBvo9M=" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433816745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "nanoid": { + "version": "3.1.23", + "resolved": "https://registry.nlark.com/nanoid/download/nanoid-3.1.23.tgz", + "integrity": "sha1-90QIbOfCvEfuCoRyV01ceOQYOoE=", + "dev": true + }, + "nanopop": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/nanopop/download/nanopop-2.1.0.tgz", + "integrity": "sha1-I0dlE87iQFiIr9LopLVAZrcLnmA=" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "needle": { + "version": "2.6.0", + "resolved": "https://registry.npm.taobao.org/needle/download/needle-2.6.0.tgz", + "integrity": "sha1-JNu1XyUJ4jJLSpnWH0E5ggE8zb4=", + "dev": true, + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.7.tgz?cache=0&sync_timestamp=1607566512593&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/no-case/download/no-case-3.0.4.tgz?cache=0&sync_timestamp=1606867315452&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fno-case%2Fdownload%2Fno-case-3.0.4.tgz", + "integrity": "sha1-02H9XJgA9VhVGoNp/A3NRmK2Ek0=", + "dev": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=", + "dev": true + } + } + }, + "node-releases": { + "version": "1.1.73", + "resolved": "https://registry.nlark.com/node-releases/download/node-releases-1.1.73.tgz?cache=0&sync_timestamp=1623060224459&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.73.tgz", + "integrity": "sha1-3U6B3dUnf/hGuAtSu0DEnt96eyA=", + "dev": true + }, + "normalize-package-data": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-3.0.2.tgz", + "integrity": "sha1-yuXEEK4kNPmmwbqmXVvDuTZshpk=", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "resolve": "^1.20.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-selector": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/normalize-selector/download/normalize-selector-0.2.0.tgz", + "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=", + "dev": true + }, + "nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/nprogress/download/nprogress-0.2.0.tgz", + "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E=" + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "omit.js": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/omit.js/download/omit.js-2.0.2.tgz", + "integrity": "sha1-3ZuENvq5R6Xz/yFMslOGMeMT7C8=" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npm.taobao.org/optionator/download/optionator-0.9.1.tgz?cache=0&sync_timestamp=1585966141328&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Foptionator%2Fdownload%2Foptionator-0.9.1.tgz", + "integrity": "sha1-TyNqY3Pa4FZqbUPhMmZ09QwpFJk=", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/param-case/download/param-case-3.0.4.tgz?cache=0&sync_timestamp=1606869196249&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparam-case%2Fdownload%2Fparam-case-3.0.4.tgz", + "integrity": "sha1-fRf+SqEr3jTUp32RrPtiGcqtAcU=", + "dev": true, + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=", + "dev": true + } + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz", + "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/parse-entities/download/parse-entities-2.0.0.tgz", + "integrity": "sha1-U8brW5MUofTsmfoP33zgHs2gy+g=", + "dev": true, + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-5.2.0.tgz?cache=0&sync_timestamp=1610966676829&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-5.2.0.tgz", + "integrity": "sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/parse-node-version/download/parse-node-version-1.0.1.tgz", + "integrity": "sha1-4rXb7eAOf6m8NjYH9TMn6LBzGJs=", + "dev": true + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz", + "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=", + "dev": true + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/pascal-case/download/pascal-case-3.1.2.tgz", + "integrity": "sha1-tI4O8rmOIF58Ha50fQsVCCN2YOs=", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=", + "dev": true + } + } + }, + "path-case": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/path-case/download/path-case-3.0.4.tgz", + "integrity": "sha1-kWhkUzTrlCZYN1xW+AtMDLX4LG8=", + "dev": true, + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=", + "dev": true + } + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz?cache=0&sync_timestamp=1617971691339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-3.1.1.tgz", + "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz", + "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=", + "dev": true + }, + "path-to-regexp": { + "version": "6.2.0", + "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-6.2.0.tgz?cache=0&sync_timestamp=1601401130106&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-6.2.0.tgz", + "integrity": "sha1-97OAMzYQTDRoia3s5hRmkjBkXzg=", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-4.0.0.tgz?cache=0&sync_timestamp=1611752074264&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-type%2Fdownload%2Fpath-type-4.0.0.tgz", + "integrity": "sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=", + "dev": true + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/picomatch/download/picomatch-2.3.0.tgz", + "integrity": "sha1-8fBh3o9qS/AiiS4tEoI0+5gwKXI=", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz", + "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=", + "dev": true, + "optional": true + }, + "pinia": { + "version": "2.0.0-beta.3", + "resolved": "https://registry.nlark.com/pinia/download/pinia-2.0.0-beta.3.tgz", + "integrity": "sha1-xvDQfaVNxaojf0zJKBiY6SezPRY=", + "requires": { + "@vue/devtools-api": "^6.0.0-beta.14" + } + }, + "postcss": { + "version": "8.3.6", + "resolved": "https://registry.nlark.com/postcss/download/postcss-8.3.6.tgz?cache=0&sync_timestamp=1626882928473&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss%2Fdownload%2Fpostcss-8.3.6.tgz", + "integrity": "sha1-JzDddql5afN/U7mmCWGXvjEcxOo=", + "dev": true, + "requires": { + "colorette": "^1.2.2", + "nanoid": "^3.1.23", + "source-map-js": "^0.6.2" + } + }, + "postcss-html": { + "version": "0.36.0", + "resolved": "https://registry.npm.taobao.org/postcss-html/download/postcss-html-0.36.0.tgz", + "integrity": "sha1-tAkT+U6qzCRT/TChMnrW7h+IsgQ=", + "dev": true, + "requires": { + "htmlparser2": "^3.10.0" + } + }, + "postcss-less": { + "version": "3.1.4", + "resolved": "https://registry.nlark.com/postcss-less/download/postcss-less-3.1.4.tgz", + "integrity": "sha1-Np9YZCtZKO+Jj/vBpuk8lYMExa0=", + "dev": true, + "requires": { + "postcss": "^7.0.14" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1618995384030&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.nlark.com/postcss/download/postcss-7.0.36.tgz", + "integrity": "sha1-BW+M/6k5ZiqPWQWVDAfVKFZE38s=", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.nlark.com/postcss-media-query-parser/download/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", + "dev": true + }, + "postcss-modules": { + "version": "4.1.3", + "resolved": "https://registry.nlark.com/postcss-modules/download/postcss-modules-4.1.3.tgz", + "integrity": "sha1-xMTEHZjZfSTHDojaz8l69aSz4h0=", + "dev": true, + "requires": { + "generic-names": "^2.0.1", + "icss-replace-symbols": "^1.1.0", + "lodash.camelcase": "^4.3.0", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "string-hash": "^1.1.1" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-3.0.0.tgz?cache=0&sync_timestamp=1602588256782&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-extract-imports%2Fdownload%2Fpostcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha1-zaHwR8CugMl9vijD52pDuIAldB0=", + "dev": true + }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-4.0.0.tgz?cache=0&sync_timestamp=1602587676537&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha1-67tU+uFZjuz99pGgKz/zs5ClpRw=", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-3.0.0.tgz?cache=0&sync_timestamp=1602593182204&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-scope%2Fdownload%2Fpostcss-modules-scope-3.0.0.tgz", + "integrity": "sha1-nvMVFFbTu/oSDKRImN/Kby+gHwY=", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-4.0.0.tgz?cache=0&sync_timestamp=1602586306639&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-values%2Fdownload%2Fpostcss-modules-values-4.0.0.tgz", + "integrity": "sha1-18Xn5ow7s8myfL9Iyguz/7RgLJw=", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/postcss-resolve-nested-selector/download/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=", + "dev": true + }, + "postcss-safe-parser": { + "version": "4.0.2", + "resolved": "https://registry.nlark.com/postcss-safe-parser/download/postcss-safe-parser-4.0.2.tgz?cache=0&sync_timestamp=1623651635519&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-safe-parser%2Fdownload%2Fpostcss-safe-parser-4.0.2.tgz", + "integrity": "sha1-ptTkjw832ffBGypYG/APi6SHC5Y=", + "dev": true, + "requires": { + "postcss": "^7.0.26" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1618995384030&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.nlark.com/postcss/download/postcss-7.0.36.tgz", + "integrity": "sha1-BW+M/6k5ZiqPWQWVDAfVKFZE38s=", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-sass": { + "version": "0.4.4", + "resolved": "https://registry.nlark.com/postcss-sass/download/postcss-sass-0.4.4.tgz", + "integrity": "sha1-kfDzRHtFzjcyJ6mLYfjY8HhShaM=", + "dev": true, + "requires": { + "gonzales-pe": "^4.3.0", + "postcss": "^7.0.21" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1618995384030&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.nlark.com/postcss/download/postcss-7.0.36.tgz", + "integrity": "sha1-BW+M/6k5ZiqPWQWVDAfVKFZE38s=", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-scss": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/postcss-scss/download/postcss-scss-2.1.1.tgz?cache=0&sync_timestamp=1623651257144&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-scss%2Fdownload%2Fpostcss-scss-2.1.1.tgz", + "integrity": "sha1-7Dp1+imlXgFrkL8yaQJsU8HSs4M=", + "dev": true, + "requires": { + "postcss": "^7.0.6" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1618995384030&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.nlark.com/postcss/download/postcss-7.0.36.tgz", + "integrity": "sha1-BW+M/6k5ZiqPWQWVDAfVKFZE38s=", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-selector-parser": { + "version": "6.0.6", + "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-6.0.6.tgz?cache=0&sync_timestamp=1620752924836&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.6.tgz", + "integrity": "sha1-LFu6gXSsL2mBq2MaQqsO5UrzMuo=", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-sorting": { + "version": "5.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-sorting/download/postcss-sorting-5.0.1.tgz", + "integrity": "sha1-ENXQBZ7qgzTazIIMASGGQDW8PxE=", + "dev": true, + "requires": { + "lodash": "^4.17.14", + "postcss": "^7.0.17" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1618995384030&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.nlark.com/postcss/download/postcss-7.0.36.tgz", + "integrity": "sha1-BW+M/6k5ZiqPWQWVDAfVKFZE38s=", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-syntax": { + "version": "0.36.2", + "resolved": "https://registry.npm.taobao.org/postcss-syntax/download/postcss-syntax-0.36.2.tgz", + "integrity": "sha1-8IV4x9lYNFdOVZOoLfv6ivrjtRw=", + "dev": true + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-4.1.0.tgz", + "integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss=", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.2.1.tgz", + "integrity": "sha1-3rxkidem5rDnYRiIzsiAM30xY5Y=", + "dev": true + }, + "prettier": { + "version": "2.3.2", + "resolved": "https://registry.nlark.com/prettier/download/prettier-2.3.2.tgz?cache=0&sync_timestamp=1624696193562&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fprettier%2Fdownload%2Fprettier-2.3.2.tgz", + "integrity": "sha1-7ygKBewlNxLkhiM9tcbyNEHnNC0=", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/prettier-linter-helpers/download/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha1-0j1B/hN1ZG3i0BBNNFSjAIgCz3s=", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz", + "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=", + "dev": true + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true, + "optional": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.nlark.com/queue-microtask/download/queue-microtask-1.2.3.tgz", + "integrity": "sha1-SSkii7xyTfrEPg77BYyve2z7YkM=", + "dev": true + }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/quick-lru/download/quick-lru-4.0.1.tgz?cache=0&sync_timestamp=1610610459445&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquick-lru%2Fdownload%2Fquick-lru-4.0.1.tgz", + "integrity": "sha1-W4h48ROlgheEjGSCAmxz4bpXcn8=", + "dev": true + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-5.2.0.tgz?cache=0&sync_timestamp=1616914810926&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-pkg-5.2.0.tgz", + "integrity": "sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.9.tgz?cache=0&sync_timestamp=1617826545071&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.9.tgz", + "integrity": "sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k=", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz", + "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463550093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.6.0.tgz", + "integrity": "sha1-jSojcNPfiG61yQraHFv2GIrPg4s=", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-7.0.1.tgz", + "integrity": "sha1-86YTV1hFlzOuK5VjgFbhhU5+9Qc=", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.8.1.tgz", + "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=", + "dev": true + } + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-3.6.0.tgz", + "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/redent/download/redent-3.0.0.tgz?cache=0&sync_timestamp=1620071175005&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fredent%2Fdownload%2Fredent-3.0.0.tgz", + "integrity": "sha1-5Ve3mYMWu1PJ8fVvpiY1LGljBZ8=", + "dev": true, + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.9.tgz", + "integrity": "sha1-iSV0Kpj/2QgUmI11Zq0wyjsmO1I=" + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.nlark.com/regexpp/download/regexpp-3.2.0.tgz?cache=0&sync_timestamp=1623668905417&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregexpp%2Fdownload%2Fregexpp-3.2.0.tgz", + "integrity": "sha1-BCWido2PI7rXDKS5BGH6LxIT4bI=", + "dev": true + }, + "remark": { + "version": "13.0.0", + "resolved": "https://registry.npm.taobao.org/remark/download/remark-13.0.0.tgz", + "integrity": "sha1-0V2b9xpAL0Aofr42Bntm1Uho5CU=", + "dev": true, + "requires": { + "remark-parse": "^9.0.0", + "remark-stringify": "^9.0.0", + "unified": "^9.1.0" + } + }, + "remark-parse": { + "version": "9.0.0", + "resolved": "https://registry.npm.taobao.org/remark-parse/download/remark-parse-9.0.0.tgz", + "integrity": "sha1-TSCimWZYgOT0r12Qt8e4qTWFNkA=", + "dev": true, + "requires": { + "mdast-util-from-markdown": "^0.8.0" + } + }, + "remark-stringify": { + "version": "9.0.1", + "resolved": "https://registry.npm.taobao.org/remark-stringify/download/remark-stringify-9.0.1.tgz", + "integrity": "sha1-V20G6RBUiwpxkacfJ7M/EhiGKJQ=", + "dev": true, + "requires": { + "mdast-util-to-markdown": "^0.6.0" + } + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/require-from-string/download/require-from-string-2.0.2.tgz", + "integrity": "sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk=", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz?cache=0&sync_timestamp=1613054862388&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.20.0.tgz", + "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz", + "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/reusify/download/reusify-1.0.4.tgz", + "integrity": "sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-3.0.2.tgz?cache=0&sync_timestamp=1581229865753&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-3.0.2.tgz", + "integrity": "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "2.52.3", + "resolved": "https://registry.nlark.com/rollup/download/rollup-2.52.3.tgz?cache=0&sync_timestamp=1624627360389&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frollup%2Fdownload%2Frollup-2.52.3.tgz", + "integrity": "sha1-Bi/DyF9nc21nWHSTEM/uZINsTio=", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/run-parallel/download/run-parallel-1.2.0.tgz?cache=0&sync_timestamp=1612925912322&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frun-parallel%2Fdownload%2Frun-parallel-1.2.0.tgz", + "integrity": "sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4=", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafer-buffer%2Fdownload%2Fsafer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz", + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", + "dev": true, + "optional": true + }, + "scroll-into-view-if-needed": { + "version": "2.2.28", + "resolved": "https://registry.npm.taobao.org/scroll-into-view-if-needed/download/scroll-into-view-if-needed-2.2.28.tgz", + "integrity": "sha1-WhWy9YpSZCyIyOylhGROAXA9ZFo=", + "requires": { + "compute-scroll-into-view": "^1.0.17" + } + }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=" + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1616463550093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz", + "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-6.0.0.tgz?cache=0&sync_timestamp=1594427569171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-6.0.0.tgz", + "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz", + "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", + "dev": true + } + } + }, + "sentence-case": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/sentence-case/download/sentence-case-3.0.4.tgz", + "integrity": "sha1-NkWnuMEXx4f96HAgViJbtipFEx8=", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case-first": "^2.0.2" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=", + "dev": true + } + } + }, + "shallow-equal": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/shallow-equal/download/shallow-equal-1.2.1.tgz", + "integrity": "sha1-TBar+lYEOqINBQMk76aJQLDaedo=" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz", + "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz", + "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", + "dev": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz", + "integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/slash/download/slash-3.0.0.tgz", + "integrity": "sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-4.0.0.tgz?cache=0&sync_timestamp=1618555008681&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fslice-ansi%2Fdownload%2Fslice-ansi-4.0.0.tgz", + "integrity": "sha1-UA6N0P1VsFgVCGJVsxla3ypF/ms=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + } + } + }, + "snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/snake-case/download/snake-case-3.0.4.tgz", + "integrity": "sha1-Tyu9Vo6ZNavf1ZPzTGkdrbScRSw=", + "dev": true, + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=", + "dev": true + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + }, + "source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npm.taobao.org/source-map-js/download/source-map-js-0.6.2.tgz", + "integrity": "sha1-C7XeYxtBz72mz7qL0FqA79/SOF4=", + "dev": true + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npm.taobao.org/sourcemap-codec/download/sourcemap-codec-1.4.8.tgz", + "integrity": "sha1-6oBL2UhXQC5pktBaOO8a41qatMQ=", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.1.tgz?cache=0&sync_timestamp=1590161967473&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-correct%2Fdownload%2Fspdx-correct-3.1.1.tgz", + "integrity": "sha1-3s6BrJweZxPl99G28X1Gj6U9iak=", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz?cache=0&sync_timestamp=1587422410312&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-exceptions%2Fdownload%2Fspdx-exceptions-2.3.0.tgz", + "integrity": "sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0=", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.9", + "resolved": "https://registry.nlark.com/spdx-license-ids/download/spdx-license-ids-3.0.9.tgz", + "integrity": "sha1-illRNd75WSvaaXCUdPHL7qfCRn8=", + "dev": true + }, + "specificity": { + "version": "0.4.1", + "resolved": "https://registry.nlark.com/specificity/download/specificity-0.4.1.tgz?cache=0&sync_timestamp=1620301057306&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fspecificity%2Fdownload%2Fspecificity-0.4.1.tgz", + "integrity": "sha1-qrXmRQEtsIuhguFRFlc40AiHsBk=", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz?cache=0&sync_timestamp=1609654060878&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstatuses%2Fdownload%2Fstatuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "string-hash": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/string-hash/download/string-hash-1.1.3.tgz", + "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=", + "dev": true + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-4.2.2.tgz?cache=0&sync_timestamp=1618558856477&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-4.2.2.tgz", + "integrity": "sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz?cache=0&sync_timestamp=1618553351145&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-6.0.0.tgz", + "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/strip-indent/download/strip-indent-3.0.0.tgz", + "integrity": "sha1-wy4c7pQLazQyx3G8LFS8znPNMAE=", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-3.1.1.tgz?cache=0&sync_timestamp=1594567586410&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-3.1.1.tgz", + "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", + "dev": true + }, + "style-search": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/style-search/download/style-search-0.1.0.tgz", + "integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=", + "dev": true + }, + "stylelint": { + "version": "13.13.1", + "resolved": "https://registry.nlark.com/stylelint/download/stylelint-13.13.1.tgz", + "integrity": "sha1-/KnJ9d55kKsmoA8We4l48IOhjzw=", + "dev": true, + "requires": { + "@stylelint/postcss-css-in-js": "^0.37.2", + "@stylelint/postcss-markdown": "^0.36.2", + "autoprefixer": "^9.8.6", + "balanced-match": "^2.0.0", + "chalk": "^4.1.1", + "cosmiconfig": "^7.0.0", + "debug": "^4.3.1", + "execall": "^2.0.0", + "fast-glob": "^3.2.5", + "fastest-levenshtein": "^1.0.12", + "file-entry-cache": "^6.0.1", + "get-stdin": "^8.0.0", + "global-modules": "^2.0.0", + "globby": "^11.0.3", + "globjoin": "^0.1.4", + "html-tags": "^3.1.0", + "ignore": "^5.1.8", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "known-css-properties": "^0.21.0", + "lodash": "^4.17.21", + "log-symbols": "^4.1.0", + "mathml-tag-names": "^2.1.3", + "meow": "^9.0.0", + "micromatch": "^4.0.4", + "normalize-selector": "^0.2.0", + "postcss": "^7.0.35", + "postcss-html": "^0.36.0", + "postcss-less": "^3.1.4", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^4.0.2", + "postcss-sass": "^0.4.4", + "postcss-scss": "^2.1.1", + "postcss-selector-parser": "^6.0.5", + "postcss-syntax": "^0.36.2", + "postcss-value-parser": "^4.1.0", + "resolve-from": "^5.0.0", + "slash": "^3.0.0", + "specificity": "^0.4.1", + "string-width": "^4.2.2", + "strip-ansi": "^6.0.0", + "style-search": "^0.1.0", + "sugarss": "^2.0.0", + "svg-tags": "^1.0.0", + "table": "^6.6.0", + "v8-compile-cache": "^2.3.0", + "write-file-atomic": "^3.0.3" + }, + "dependencies": { + "balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-2.0.0.tgz?cache=0&sync_timestamp=1617714298273&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbalanced-match%2Fdownload%2Fbalanced-match-2.0.0.tgz", + "integrity": "sha1-3HD5INeNuLhYU1eVhnv0j4IGM9k=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.nlark.com/postcss/download/postcss-7.0.36.tgz", + "integrity": "sha1-BW+M/6k5ZiqPWQWVDAfVKFZE38s=", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1618995384030&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + } + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-5.0.0.tgz", + "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk=", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "stylelint-config-prettier": { + "version": "8.0.2", + "resolved": "https://registry.npm.taobao.org/stylelint-config-prettier/download/stylelint-config-prettier-8.0.2.tgz", + "integrity": "sha1-2p3jPaTFaJPL5+Jt8jmnN0BF4U4=", + "dev": true + }, + "stylelint-config-recommended": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/stylelint-config-recommended/download/stylelint-config-recommended-5.0.0.tgz?cache=0&sync_timestamp=1619280044204&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstylelint-config-recommended%2Fdownload%2Fstylelint-config-recommended-5.0.0.tgz", + "integrity": "sha1-+1ZT9JWmC0k48q0+d3EtnhA5rng=", + "dev": true + }, + "stylelint-config-standard": { + "version": "22.0.0", + "resolved": "https://registry.nlark.com/stylelint-config-standard/download/stylelint-config-standard-22.0.0.tgz?cache=0&sync_timestamp=1619280042839&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstylelint-config-standard%2Fdownload%2Fstylelint-config-standard-22.0.0.tgz", + "integrity": "sha1-yGC+mhPrvBsIRFb6EFJ78TpErd8=", + "dev": true, + "requires": { + "stylelint-config-recommended": "^5.0.0" + } + }, + "stylelint-order": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/stylelint-order/download/stylelint-order-4.1.0.tgz", + "integrity": "sha1-aS0Ft9DCNaxm/PXqHZ5fCKdnR/Y=", + "dev": true, + "requires": { + "lodash": "^4.17.15", + "postcss": "^7.0.31", + "postcss-sorting": "^5.0.1" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1618995384030&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.nlark.com/postcss/download/postcss-7.0.36.tgz", + "integrity": "sha1-BW+M/6k5ZiqPWQWVDAfVKFZE38s=", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "sugarss": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/sugarss/download/sugarss-2.0.0.tgz", + "integrity": "sha1-3dduASSyl9QL88yjHIsi7LQ7xh0=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1618995384030&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.nlark.com/postcss/download/postcss-7.0.36.tgz", + "integrity": "sha1-BW+M/6k5ZiqPWQWVDAfVKFZE38s=", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/svg-tags/download/svg-tags-1.0.0.tgz", + "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", + "dev": true + }, + "systemjs": { + "version": "6.10.2", + "resolved": "https://registry.nlark.com/systemjs/download/systemjs-6.10.2.tgz", + "integrity": "sha1-yYcCF73fnP0l0S1PzRmJVB7xIHw=", + "dev": true + }, + "table": { + "version": "6.7.1", + "resolved": "https://registry.nlark.com/table/download/table-6.7.1.tgz?cache=0&sync_timestamp=1620957183690&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftable%2Fdownload%2Ftable-6.7.1.tgz", + "integrity": "sha1-7gVZK3FDgxqMlPPO5qrkwczvM+I=", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.6.0", + "resolved": "https://registry.nlark.com/ajv/download/ajv-8.6.0.tgz", + "integrity": "sha1-YMxF2cRqR32A2SxIB22XLDQuVyA=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-1.0.0.tgz", + "integrity": "sha1-rnvLNlard6c7pcSb9lTzjmtoYOI=", + "dev": true + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "throttle-debounce": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-2.3.0.tgz?cache=0&sync_timestamp=1604315662384&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthrottle-debounce%2Fdownload%2Fthrottle-debounce-2.3.0.tgz", + "integrity": "sha1-/TGGXmZQIHHkEYF+JBRls+nDcuI=", + "dev": true + }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/trim-newlines/download/trim-newlines-3.0.1.tgz?cache=0&sync_timestamp=1623341614526&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftrim-newlines%2Fdownload%2Ftrim-newlines-3.0.1.tgz", + "integrity": "sha1-Jgpdli2LdSQlsy86fbDcrNF2wUQ=", + "dev": true + }, + "trough": { + "version": "1.0.5", + "resolved": "https://registry.nlark.com/trough/download/trough-1.0.5.tgz", + "integrity": "sha1-uLY5zvrX0LsqvTfUM/+Ck++l9AY=", + "dev": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", + "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npm.taobao.org/tsutils/download/tsutils-3.21.0.tgz?cache=0&sync_timestamp=1615138637708&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftsutils%2Fdownload%2Ftsutils-3.21.0.tgz", + "integrity": "sha1-tIcX05TOpsHglpg+7Vjp1hcVtiM=", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/type-check/download/type-check-0.4.0.tgz", + "integrity": "sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE=", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.20.2.tgz", + "integrity": "sha1-G/IH9LKPkVg2ZstfvTJ4hzAc1fQ=", + "dev": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npm.taobao.org/typedarray-to-buffer/download/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha1-qX7nqf9CaRufeD/xvFES/j/KkIA=", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "4.3.4", + "resolved": "https://registry.nlark.com/typescript/download/typescript-4.3.4.tgz", + "integrity": "sha1-P4W5hpRbzzEHHezdls+L+mX53Lw=", + "dev": true + }, + "unified": { + "version": "9.2.1", + "resolved": "https://registry.npm.taobao.org/unified/download/unified-9.2.1.tgz?cache=0&sync_timestamp=1614242914877&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funified%2Fdownload%2Funified-9.2.1.tgz", + "integrity": "sha1-rhjVZ0wRQCG/299zhlymD0ECFaM=", + "dev": true, + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + } + }, + "unist-util-find-all-after": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/unist-util-find-all-after/download/unist-util-find-all-after-3.0.2.tgz", + "integrity": "sha1-/f7NFMW3rqXp7zjV4NX3dO61YfY=", + "dev": true, + "requires": { + "unist-util-is": "^4.0.0" + } + }, + "unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/unist-util-is/download/unist-util-is-4.1.0.tgz", + "integrity": "sha1-l25fRip6Xec9lLcGusG5BnG1d5c=", + "dev": true + }, + "unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/unist-util-stringify-position/download/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha1-zOO/oc34W6c3XR1bF73Eytqb2do=", + "dev": true, + "requires": { + "@types/unist": "^2.0.2" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "upper-case": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/upper-case/download/upper-case-2.0.2.tgz", + "integrity": "sha1-2JgQgj+qsd8VSbfZenb4Ziuub3o=", + "dev": true, + "requires": { + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=", + "dev": true + } + } + }, + "upper-case-first": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/upper-case-first/download/upper-case-first-2.0.2.tgz", + "integrity": "sha1-mSwyc/iCq9GdHgKJTMFHEX+EQyQ=", + "dev": true, + "requires": { + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=", + "dev": true + } + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz?cache=0&sync_timestamp=1610237756396&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.1.tgz", + "integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "v-viewer": { + "version": "1.6.4", + "resolved": "https://registry.nlark.com/v-viewer/download/v-viewer-1.6.4.tgz", + "integrity": "sha1-OeNrU0uqs0B2+4FnBManNN4Nxy8=", + "dev": true, + "requires": { + "throttle-debounce": "^2.0.1", + "viewerjs": "^1.5.0" + } + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz", + "integrity": "sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vfile": { + "version": "4.2.1", + "resolved": "https://registry.nlark.com/vfile/download/vfile-4.2.1.tgz?cache=0&sync_timestamp=1620239829054&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvfile%2Fdownload%2Fvfile-4.2.1.tgz", + "integrity": "sha1-A/Hc4o/GJcYlvGUUNQ+9sA+p5iQ=", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + } + }, + "vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.nlark.com/vfile-message/download/vfile-message-2.0.4.tgz?cache=0&sync_timestamp=1620225355335&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvfile-message%2Fdownload%2Fvfile-message-2.0.4.tgz", + "integrity": "sha1-W0O4gXHUCerlhHfRPyPdQdUsNxo=", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, + "viewerjs": { + "version": "1.10.1", + "resolved": "https://registry.nlark.com/viewerjs/download/viewerjs-1.10.1.tgz", + "integrity": "sha1-B0me0EPQop4wArkPVcWyKL0adCw=", + "dev": true + }, + "vite": { + "version": "2.4.4", + "resolved": "https://registry.nlark.com/vite/download/vite-2.4.4.tgz", + "integrity": "sha1-jEAqB61F8Wj261Qovq048+Q2Pkc=", + "dev": true, + "requires": { + "esbuild": "^0.12.8", + "fsevents": "~2.3.2", + "postcss": "^8.3.6", + "resolve": "^1.20.0", + "rollup": "^2.38.5" + } + }, + "vite-plugin-mock": { + "version": "2.9.4", + "resolved": "https://registry.nlark.com/vite-plugin-mock/download/vite-plugin-mock-2.9.4.tgz", + "integrity": "sha1-DXOfwbL/Pzg/I6viuQbayiiVkJ0=", + "dev": true, + "requires": { + "@rollup/plugin-node-resolve": "^13.0.2", + "@types/mockjs": "^1.0.4", + "chalk": "^4.1.1", + "chokidar": "^3.5.2", + "connect": "^3.7.0", + "debug": "^4.3.2", + "esbuild": "0.11.3", + "fast-glob": "^3.2.7", + "path-to-regexp": "^6.2.0" + }, + "dependencies": { + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1607566512593&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", + "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "esbuild": { + "version": "0.11.3", + "resolved": "https://registry.nlark.com/esbuild/download/esbuild-0.11.3.tgz", + "integrity": "sha1-tXFluQe+T/umUfZFBTjOjYwdXrA=", + "dev": true + } + } + }, + "vite-plugin-style-import": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/vite-plugin-style-import/download/vite-plugin-style-import-1.1.1.tgz", + "integrity": "sha1-fM67BCvOlO6y9pXHM5NUotrEjCU=", + "dev": true, + "requires": { + "@rollup/pluginutils": "^4.1.1", + "change-case": "^4.1.2", + "debug": "^4.3.2", + "es-module-lexer": "^0.7.1", + "magic-string": "^0.25.7" + }, + "dependencies": { + "@rollup/pluginutils": { + "version": "4.1.1", + "resolved": "https://registry.nlark.com/@rollup/pluginutils/download/@rollup/pluginutils-4.1.1.tgz", + "integrity": "sha1-HU2obdTt7RVlalfZM/2iuaCNR+w=", + "dev": true, + "requires": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + } + }, + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1607566512593&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", + "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", + "dev": true, + "requires": { + "ms": "2.1.2" + } + } + } + }, + "vue": { + "version": "3.2.1", + "resolved": "https://registry.nlark.com/vue/download/vue-3.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue%2Fdownload%2Fvue-3.2.1.tgz", + "integrity": "sha1-MN3hUvL9rQZp6phU1akKAO+Wl0s=", + "requires": { + "@vue/compiler-dom": "3.2.1", + "@vue/runtime-dom": "3.2.1", + "@vue/shared": "3.2.1" + } + }, + "vue-eslint-parser": { + "version": "7.10.0", + "resolved": "https://registry.nlark.com/vue-eslint-parser/download/vue-eslint-parser-7.10.0.tgz?cache=0&sync_timestamp=1627452620913&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue-eslint-parser%2Fdownload%2Fvue-eslint-parser-7.10.0.tgz", + "integrity": "sha1-6k5LEP0QqjXIp5rHg0iNirzSm+g=", + "dev": true, + "requires": { + "debug": "^4.1.1", + "eslint-scope": "^5.1.1", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.2.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^6.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", + "dev": true + }, + "espree": { + "version": "6.2.1", + "resolved": "https://registry.nlark.com/espree/download/espree-6.2.1.tgz", + "integrity": "sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o=", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463550093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "vue-i18n": { + "version": "9.1.6", + "resolved": "https://registry.nlark.com/vue-i18n/download/vue-i18n-9.1.6.tgz", + "integrity": "sha1-TPmS4q7FRYvBk2mXPJbqfQ9WAyE=", + "requires": { + "@intlify/core-base": "9.1.6", + "@intlify/shared": "9.1.6", + "@intlify/vue-devtools": "9.1.6", + "@vue/devtools-api": "^6.0.0-beta.7" + } + }, + "vue-router": { + "version": "4.0.10", + "resolved": "https://registry.nlark.com/vue-router/download/vue-router-4.0.10.tgz", + "integrity": "sha1-7I/aAylJsqMdMnMXD483bobrUqw=", + "requires": { + "@vue/devtools-api": "^6.0.0-beta.14" + } + }, + "vue-types": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/vue-types/download/vue-types-3.0.2.tgz", + "integrity": "sha1-7BbgXUEsA4Ji/B76TOuWR+f7YB0=", + "requires": { + "is-plain-object": "3.0.1" + } + }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/warning/download/warning-4.0.3.tgz", + "integrity": "sha1-Fungd+uKhtavfWSqHgX9hbRnjKM=", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz?cache=0&sync_timestamp=1574116262707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz", + "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz?cache=0&sync_timestamp=1619133505879&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrappy%2Fdownload%2Fwrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-3.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrite-file-atomic%2Fdownload%2Fwrite-file-atomic-3.0.3.tgz", + "integrity": "sha1-Vr1cWlxwSBzRnFcb05q5ZaXeVug=", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz", + "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.nlark.com/yaml/download/yaml-1.10.2.tgz?cache=0&sync_timestamp=1623654032636&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyaml%2Fdownload%2Fyaml-1.10.2.tgz", + "integrity": "sha1-IwHF/78StGfejaIzOkWeKeeSDks=", + "dev": true + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.nlark.com/yargs-parser/download/yargs-parser-20.2.9.tgz?cache=0&sync_timestamp=1624233275366&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.9.tgz", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", + "dev": true + }, + "zrender": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.1.1.tgz", + "integrity": "sha512-oeWlmUZPQdS9f5hK4pV21tHPqA3wgQ7CkKkw7l0CCBgWlJ/FP+lRgLFtUBW6yam4JX8y9CdHJo1o587VVrbcoQ==", + "requires": { + "tslib": "2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "zwitch": { + "version": "1.0.5", + "resolved": "https://registry.nlark.com/zwitch/download/zwitch-1.0.5.tgz", + "integrity": "sha1-0R1zgf/tFrdC9q97PyI9XNn+mSA=", + "dev": true + } + } +} diff --git a/admin-web/javascript-ant-design-vue/package.json b/admin-web/javascript-ant-design-vue/package.json new file mode 100644 index 00000000..d1a954c7 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/package.json @@ -0,0 +1,64 @@ +{ + "version": "0.0.0", + "author": { + "name": "1024lab", + "email": "1024lab@sina.com", + "url": "https://1024lab.net" + }, + "license": "MIT", + "homepage": "https://smartadmin.1024lab.net", + "scripts": { + "dev": "vite", + "sit": "vite build --base=/manage/ --mode sit", + "localhost": "vite --mode localhost", + "build": "vue-tsc --noEmit && vite build", + "serve": "vite preview" + }, + "dependencies": { + "ant-design-vue": "2.2.4", + "axios": "^0.21.1", + "clipboard": "^2.0.8", + "crypto-js": "^4.0.0", + "echarts": "^5.1.2", + "js-cookie": "^2.2.1", + "mitt": "^3.0.0", + "moment": "2.29.1", + "nprogress": "^0.2.0", + "pinia": "^2.0.0-beta.3", + "vue-enum": "~1.0.5", + "vue": "^3.2.1", + "vue-i18n": "9.1.6", + "vue-router": "^4.0.10" + }, + "devDependencies": { + "@vitejs/plugin-legacy": "^1.5.1", + "@vitejs/plugin-vue": "^1.4.0", + "@vue/compiler-sfc": "^3.2.1", + "dotenv": "^10.0.0", + "eslint": "^7.29.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^3.4.0", + "eslint-plugin-vue": "^7.16.0", + "less": "^4.1.1", + "less-loader": "^10.0.1", + "postcss": "^8.3.5", + "prettier": "^2.3.1", + "rimraf": "^3.0.2", + "stylelint": "^13.13.1", + "stylelint-config-prettier": "^8.0.2", + "stylelint-config-standard": "^22.0.0", + "stylelint-order": "^4.1.0", + "v-viewer": "^1.5.1", + "vite": "^2.4.4", + "vite-plugin-mock": "^2.9.4", + "vite-plugin-style-import": "^1.1.1", + "vue-eslint-parser": "^7.10.0" + }, + "engines": { + "node": ">=12" + }, + "repository": { + "type": "git", + "url": "https://github.com/1024-lab/smart-admin.git" + } +} diff --git a/admin-web/javascript-ant-design-vue/postcss.config.js b/admin-web/javascript-ant-design-vue/postcss.config.js new file mode 100644 index 00000000..a47ef4f9 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/postcss.config.js @@ -0,0 +1,5 @@ +module.exports = { + plugins: { + autoprefixer: {}, + }, +}; diff --git a/admin-web/javascript-ant-design-vue/public/favicon.ico b/admin-web/javascript-ant-design-vue/public/favicon.ico new file mode 100644 index 00000000..5e59671b Binary files /dev/null and b/admin-web/javascript-ant-design-vue/public/favicon.ico differ diff --git a/admin-web/javascript-ant-design-vue/public/images/1024lab-gzh.jpg b/admin-web/javascript-ant-design-vue/public/images/1024lab-gzh.jpg new file mode 100644 index 00000000..d6b03f53 Binary files /dev/null and b/admin-web/javascript-ant-design-vue/public/images/1024lab-gzh.jpg differ diff --git a/admin-web/javascript-ant-design-vue/public/images/ali-icon.png b/admin-web/javascript-ant-design-vue/public/images/ali-icon.png new file mode 100644 index 00000000..fe141241 Binary files /dev/null and b/admin-web/javascript-ant-design-vue/public/images/ali-icon.png differ diff --git a/admin-web/javascript-ant-design-vue/public/images/google-icon.png b/admin-web/javascript-ant-design-vue/public/images/google-icon.png new file mode 100644 index 00000000..4bc6e4b0 Binary files /dev/null and b/admin-web/javascript-ant-design-vue/public/images/google-icon.png differ diff --git a/admin-web/javascript-ant-design-vue/public/images/login-bg.png b/admin-web/javascript-ant-design-vue/public/images/login-bg.png new file mode 100644 index 00000000..469c2da9 Binary files /dev/null and b/admin-web/javascript-ant-design-vue/public/images/login-bg.png differ diff --git a/admin-web/javascript-ant-design-vue/public/images/login-form-open-eyes-close.png b/admin-web/javascript-ant-design-vue/public/images/login-form-open-eyes-close.png new file mode 100644 index 00000000..89f85301 Binary files /dev/null and b/admin-web/javascript-ant-design-vue/public/images/login-form-open-eyes-close.png differ diff --git a/admin-web/javascript-ant-design-vue/public/images/login-form-open-eyes.png b/admin-web/javascript-ant-design-vue/public/images/login-form-open-eyes.png new file mode 100644 index 00000000..f8eb3d70 Binary files /dev/null and b/admin-web/javascript-ant-design-vue/public/images/login-form-open-eyes.png differ diff --git a/admin-web/javascript-ant-design-vue/public/images/login-person.png b/admin-web/javascript-ant-design-vue/public/images/login-person.png new file mode 100644 index 00000000..c845a7a5 Binary files /dev/null and b/admin-web/javascript-ant-design-vue/public/images/login-person.png differ diff --git a/admin-web/javascript-ant-design-vue/public/images/login-qr.png b/admin-web/javascript-ant-design-vue/public/images/login-qr.png new file mode 100644 index 00000000..9f002819 Binary files /dev/null and b/admin-web/javascript-ant-design-vue/public/images/login-qr.png differ diff --git a/admin-web/javascript-ant-design-vue/public/images/logo-min.png b/admin-web/javascript-ant-design-vue/public/images/logo-min.png new file mode 100644 index 00000000..b586a64b Binary files /dev/null and b/admin-web/javascript-ant-design-vue/public/images/logo-min.png differ diff --git a/admin-web/javascript-ant-design-vue/public/images/logo.png b/admin-web/javascript-ant-design-vue/public/images/logo.png new file mode 100644 index 00000000..9b11579e Binary files /dev/null and b/admin-web/javascript-ant-design-vue/public/images/logo.png differ diff --git a/admin-web/javascript-ant-design-vue/public/images/qq-icon.png b/admin-web/javascript-ant-design-vue/public/images/qq-icon.png new file mode 100644 index 00000000..87cefd14 Binary files /dev/null and b/admin-web/javascript-ant-design-vue/public/images/qq-icon.png differ diff --git a/admin-web/javascript-ant-design-vue/public/images/wechat-icon.png b/admin-web/javascript-ant-design-vue/public/images/wechat-icon.png new file mode 100644 index 00000000..23a41d6e Binary files /dev/null and b/admin-web/javascript-ant-design-vue/public/images/wechat-icon.png differ diff --git a/admin-web/javascript-ant-design-vue/public/images/weibo-icon.png b/admin-web/javascript-ant-design-vue/public/images/weibo-icon.png new file mode 100644 index 00000000..1babf8ed Binary files /dev/null and b/admin-web/javascript-ant-design-vue/public/images/weibo-icon.png differ diff --git a/admin-web/javascript-ant-design-vue/src/App.vue b/admin-web/javascript-ant-design-vue/src/App.vue new file mode 100644 index 00000000..6de3cc75 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/App.vue @@ -0,0 +1,50 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/api/business/category/category-api.js b/admin-web/javascript-ant-design-vue/src/api/business/category/category-api.js new file mode 100644 index 00000000..38bb6d44 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/api/business/category/category-api.js @@ -0,0 +1,33 @@ +/* + * @Description: + * @Author: zhuoda + * @Date: 2021-08-12 16:46:21 + * @LastEditTime: 2021-08-12 16:47:04 + * @LastEditors: zhuoda + */ +import { postRequest } from '/@/lib/axios'; + +export const categoryApi = { + // 添加类目 by zhuoda + addCategory: (param) => { + return postRequest('/category/add', param); + }, + // GET + // 删除类目 by zhuoda + deleteCategoryById: (categoryId) => { + return getRequest(`/category/del/${categoryId}`); + }, + // 查询类目层级树 by zhuoda + queryCategoryTree: (param) => { + return postRequest('/category/tree', param); + }, + // 更新类目 by zhuoda + updateCategory: (param) => { + return postRequest('/category/update', param); + }, + // 查询类目详情 by zhuoda + getCategory: (categoryId) => { + // POST /admin/clue/user/track/add + return getRequest(`/category/${categoryId}`); + }, +}; diff --git a/admin-web/javascript-ant-design-vue/src/api/business/file/file-api.js b/admin-web/javascript-ant-design-vue/src/api/business/file/file-api.js new file mode 100644 index 00000000..34317861 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/api/business/file/file-api.js @@ -0,0 +1,17 @@ +/* + * @Description: + * @version: + * @Author: zhuoda + * @Date: 2021-08-17 23:32:36 + * @LastEditors: zhuoda + * @LastEditTime: 2021-08-18 14:35:52 + */ +import { postRequest } from '/@/lib/axios'; + +export const fileApi = { + // 文件上传 by zhuoda + uploadUrl: '/file/upload', + uploadFile: (param, folder) => { + return postRequest(`/file/upload?folder=${folder}`, param); + }, +}; diff --git a/admin-web/javascript-ant-design-vue/src/api/business/goods/goods-api.js b/admin-web/javascript-ant-design-vue/src/api/business/goods/goods-api.js new file mode 100644 index 00000000..bcf9d9e6 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/api/business/goods/goods-api.js @@ -0,0 +1,23 @@ +import { postRequest } from '/@/lib/axios'; + +export const goodsApi = { + // 添加商品 by zhuoda + addGoods: (param) => { + return postRequest('/goods/add', param); + }, + // POST /admin/goods/del + // 删除 by zhuoda + deleteGoods: (param) => { + return postRequest('/goods/del', param); + }, + // POST /admin/goods/query + // 分页查询 by zhuoda + queryGoodsList: (param) => { + return postRequest('/goods/query', param); + }, + // POST /admin/goods/update + // 更新商品 by zhuoda + updateGoods: (param) => { + return postRequest('/goods/update', param); + } +}; diff --git a/admin-web/javascript-ant-design-vue/src/api/system/department/department-api.js b/admin-web/javascript-ant-design-vue/src/api/system/department/department-api.js new file mode 100644 index 00000000..89996823 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/api/system/department/department-api.js @@ -0,0 +1,63 @@ +/* + * @Author: zhuoda + * @Date: 2021-08-12 17:56:25 + * @LastEditTime: 2021-08-16 10:45:05 + * @LastEditors: zhuoda + * @Description: + * @FilePath: /smart-admin/src/api/system/department/department-api.ts + */ +import { getRequest, postRequest } from '/@/lib/axios'; + +export const departmentApi = { + /** + * @description: 查询部门列表 + * @param {*} + * @return {*} + */ + queryAllDepartment: () => { + return getRequest('/department/listAll'); + }, + + /** + * @description: 查询部门树形列表 + * @param {*} + * @return {*} + */ + departmentTree: () => { + return getRequest('/department/treeList'); + }, + + /** + * @description: 获取校区列表 by zhuoda + * @param {*} + * @return {*} + */ + querySchoolDepartmentList: () => { + return getRequest('/department/querySchoolList'); + }, + + /** + * @description: 添加部门 by zhuoda + * @param {*} + * @return {*} + */ + addDepartment: (param) => { + return postRequest('/department/add', param); + }, + /** + * @description: 更新部门信息 by zhuoda + * @param {*} + * @return {*} + */ + updateDepartment: (param) => { + return postRequest('/department/update', param); + }, + /** + * @description: 获取校区列表 by zhuoda + * @param {*} + * @return {*} + */ + deleteDepartment: (deptId) => { + return getRequest(`/department/delete/${deptId}`); + }, +}; diff --git a/admin-web/javascript-ant-design-vue/src/api/system/employee/employee-api.js b/admin-web/javascript-ant-design-vue/src/api/system/employee/employee-api.js new file mode 100644 index 00000000..610c8fbb --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/api/system/employee/employee-api.js @@ -0,0 +1,96 @@ +/* + * @Description: 员工api + * @Author: zhuoda + * @Date: 2021-08-12 18:00:56 + * @LastEditTime: 2021-08-25 11:24:51 + * @LastEditors: zhuoda + */ + +import { getRequest, postRequest } from '/@/lib/axios'; + +export const employeeApi = { + /** + * @description: 查询所有员工 by zhuoda + * @param {*} + * @return {*} + */ + queryAll: () => { + return getRequest('/employee/queryAll'); + }, + /** + * @description: 员工管理查询 + * @param {*} + * @return {*} + */ + queryEmployee: (params) => { + return postRequest('/employee/query', params); + }, + /** + * @description: 添加员工 + * @param {EmployeeAddDto} params + * @return {*} + */ + addEmployee: (params) => { + return postRequest('/employee/add', params); + }, + /** + * @description: 更新员工信息 + * @param {EmployeeUpdateDto} params + * @return {*} + */ + updateEmployee: (params) => { + return postRequest('/employee/update', params); + }, + /** + * @description: 删除员工 + * @param {number} employeeId + * @return {*} + */ + deleteEmployee: (employeeId) => { + return getRequest(`/employee/delete/${employeeId}`); + }, + /** + * @description: 批量删除员工 + * @param {number} employeeIdList + * @return {*} + */ + batchDeleteEmployee: (employeeIdList) => { + return getRequest(`/employee/update/batch/delete?employeeIdList=${employeeIdList}`); + }, + /** + * @description: 批量调整员工部门 + * @param {EmployeeDepartmentUpdateDto} updateDto + * @return {*} + */ + batchUpdateDepartmentEmployee: (updateDto) => { + return postRequest('/employee/update/batch/department', updateDto); + }, + /** + * @description: 重置员工密码 + * @param {number} employeeId + * @return {*} + */ + resetPassword: (employeeId) => { + return getRequest(`employee/update/pwd/reset/${employeeId}`); + }, + /** + * @description: 更新员工禁用状态 + * @param {number} employeeId + * @return {*} + */ + updateDisabled: (employeeId) => { + return getRequest(`employee/update/disabled/${employeeId}`); + }, + /** + * @description: 查询员工-根据校区id + * @param {number} deptId + * @return {*} + */ + querySchoolEmployee: (deptId) => { + return getRequest(`/employee/query/school/${deptId}`); + }, + // 查询员工-根据部门id + queryEmployeeByDeptId: (deptId) => { + return getRequest(`/employee/query/dept/${deptId}`); + }, +}; diff --git a/admin-web/javascript-ant-design-vue/src/api/system/home/home-api.js b/admin-web/javascript-ant-design-vue/src/api/system/home/home-api.js new file mode 100644 index 00000000..f8749fc9 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/api/system/home/home-api.js @@ -0,0 +1,28 @@ +/* + * @Author: zhuoda + * @Date: 2021-08-24 17:21:35 + * @LastEditTime: 2021-08-24 17:24:31 + * @LastEditors: zhuoda + * @Description: + * @FilePath: /smart-admin/src/api/system/home/home-api.ts + */ +import { getRequest } from '/@/lib/axios'; + +export const homeApi = { + /** + * @description: 首页-金额统计(业绩、收款、订单数等) by zhuoda + * @param {*} + * @return {*} + */ + homeAmountStatistics: () => { + return getRequest('/home/amount/statistics'); + }, + /** + * @description: 首页-待办信息 by zhuoda + * @param {*} + * @return {*} + */ + homeWaitHandle: () => { + return getRequest('home/wait/handle'); + }, +}; diff --git a/admin-web/javascript-ant-design-vue/src/api/system/login/login.js b/admin-web/javascript-ant-design-vue/src/api/system/login/login.js new file mode 100644 index 00000000..66868b11 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/api/system/login/login.js @@ -0,0 +1,27 @@ +/* + * @Author: zhuoda + * @Date: 2021-08-03 10:27:11 + * @LastEditTime: 2021-08-18 20:04:05 + * @LastEditors: zhuoda + * @Description: + * @FilePath: /smart-admin/src/api/system/login/login.ts + */ +import { getRequest, postRequest } from '/@/lib/axios'; + +export const loginApi = { + /** + * 登录 + * @param param + */ + login: (param) => { + return postRequest('/system/login', param); + }, + + /** + * 获取登录信息 + * @param param + */ + getLogin: () => { + return getRequest('/system/login/get'); + }, +}; diff --git a/admin-web/javascript-ant-design-vue/src/api/system/menu/menu-api.js b/admin-web/javascript-ant-design-vue/src/api/system/menu/menu-api.js new file mode 100644 index 00000000..9c901cee --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/api/system/menu/menu-api.js @@ -0,0 +1,53 @@ +/* + * @Author: zhuoda + * @Date: 2021-08-11 22:15:04 + * @LastEditTime: 2021-09-01 20:21:29 + * @LastEditors: zhuoda + * @Description: + * @FilePath: /smart-admin/src/api/system/menu/menu-api.ts + */ +import { getRequest, postRequest } from '/@/lib/axios'; + +export const menuApi = { + /** + * 添加菜单 + */ + addMenu: (param) => { + return postRequest('/menu/add', param); + }, + + /** + * 更新菜单 + */ + updateMenu: (pa) => { + return postRequest('/menu/update', param); + }, + + /** + * 批量删除菜单 + */ + batchDeleteMenu: (menuIdList) => { + return getRequest(`/menu/batchDelete?menuIdList=${menuIdList}`); + }, + + /** + * 查询所有菜单列表 + */ + queryMenu: () => { + return getRequest('/menu/query'); + }, + + /** + * 查询菜单树 + */ + queryMenuTree: (onlyMenu) => { + return getRequest(`/menu/tree?onlyMenu=${onlyMenu}`); + }, + + /** + * 获取所有请求路径 + */ + getAllUrl: () => { + return getRequest('/menu/getAllUrl'); + }, +}; diff --git a/admin-web/javascript-ant-design-vue/src/api/system/role-menu/role-menu-api.js b/admin-web/javascript-ant-design-vue/src/api/system/role-menu/role-menu-api.js new file mode 100644 index 00000000..7350da6c --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/api/system/role-menu/role-menu-api.js @@ -0,0 +1,27 @@ +/* + * @Author: zhuoda + * @Date: 2021-08-28 14:16:46 + * @LastEditTime: 2021-08-28 14:25:36 + * @LastEditors: zhuoda + * @Description: + * @FilePath: /smart-admin/src/api/system/role-menu/role-menu-api.ts + */ +import { getRequest, postRequest } from '/@/lib/axios'; +export const roleMenuApi = { + /** + * @description: 获取角色关联菜单权限 + * @param {*} + * @return {*} + */ + getRoleSelectedMenu: (roleId) => { + return getRequest(`role/menu/getRoleSelectedMenu/${roleId}`); + }, + /** + * @description: 更新角色权限 + * @param {*} + * @return {*} + */ + updateRoleMenu: (data) => { + return postRequest('role/menu/updateRoleMenu', data); + }, +}; diff --git a/admin-web/javascript-ant-design-vue/src/api/system/role/role-api.js b/admin-web/javascript-ant-design-vue/src/api/system/role/role-api.js new file mode 100644 index 00000000..812aa663 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/api/system/role/role-api.js @@ -0,0 +1,109 @@ +/* + * @Author: zhuoda + * @Date: 2021-08-16 15:53:46 + * @LastEditTime: 2021-08-30 15:18:18 + * @LastEditors: zhuoda + * @Description: + * @FilePath: /smart-admin/src/api/system/role/role-api.ts + */ +import { getRequest, postRequest } from '/@/lib/axios'; + +export const roleApi = { + /** + * @description: 获取所有角色 + * @param {*} + * @return {*} + */ + queryAll: () => { + return getRequest('role/getAll'); + }, + /** + * @description:添加角色 + * @param {*} + * @return {*} + */ + addRole: (data) => { + return postRequest('role/add', data); + }, + /** + * @description:更新角色 + * @param {*} + * @return {*} + */ + updateRole: (data) => { + return postRequest('role/update', data); + }, + /** + * @description: 删除角色 + * @param {number} roleId + * @return {*} + */ + deleteRole: (roleId) => { + return getRequest(`role/delete/${roleId}`); + }, + /** + * @description: 批量设置某角色数据范围 + * @param {DataScopeBatchSetRoleDto} data + * @return {*} + */ + updateDataScope: (data) => { + return postRequest('/dataScope/batchSet', data); + }, + /** + * @description: 获取当前系统所配置的所有数据范围 + * @param {*} + * @return {*} + */ + getDataScopeList: () => { + return getRequest('/dataScope/list'); + }, + /** + * @description: 获取某角色所设置的数据范围 + * @param {number} roleId + * @return {*} + */ + getDataScopeByRoleId: (roleId) => { + return getRequest(`/dataScope/listByRole/${roleId}`); + }, + /** + * @description: 获取角色成员-员工列表 + * @param {*} + * @return {*} + */ + queryRoleEmployee: (params) => { + return postRequest('/role/listEmployee', params); + }, + /** + * @description: 从角色成员列表中移除员工 + * @param {number} employeeId + * @param {number} roleId + * @return {*} + */ + deleteEmployeeRole: (employeeId, roleId) => { + return getRequest('/role/removeEmployee?employeeId=' + employeeId + '&roleId=' + roleId); + }, + /** + * @description: 从角色成员列表中批量移除员工 + * @param {RoleEmployeeBatchDto} data + * @return {*} + */ + deleteEmployeeList: (data) => { + return postRequest('/role/removeEmployeeList', data); + }, + /** + * @description: 根据角色id获取角色员工列表(无分页) + * @param {*} + * @return {*} + */ + getRoleAllEmployee: (roleId) => { + return getRequest(`role/listAllEmployee/${roleId}`); + }, + /** + * @description: 角色成员列表中批量添加员工 + * @param {RoleEmployeeBatchDto} data + * @return {*} + */ + addRoleEmployeeList: (data) => { + return postRequest('/role/addEmployeeList', data); + }, +}; diff --git a/admin-web/javascript-ant-design-vue/src/assets/img/logo.png b/admin-web/javascript-ant-design-vue/src/assets/img/logo.png new file mode 100644 index 00000000..f3d2503f Binary files /dev/null and b/admin-web/javascript-ant-design-vue/src/assets/img/logo.png differ diff --git a/admin-web/javascript-ant-design-vue/src/assets/logo.png b/admin-web/javascript-ant-design-vue/src/assets/logo.png new file mode 100644 index 00000000..f3d2503f Binary files /dev/null and b/admin-web/javascript-ant-design-vue/src/assets/logo.png differ diff --git a/admin-web/javascript-ant-design-vue/src/components/HelloWorld.vue b/admin-web/javascript-ant-design-vue/src/components/HelloWorld.vue new file mode 100644 index 00000000..8e73cc6d --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/components/HelloWorld.vue @@ -0,0 +1,70 @@ + + + + + diff --git a/admin-web/javascript-ant-design-vue/src/components/category-tree-select/index.vue b/admin-web/javascript-ant-design-vue/src/components/category-tree-select/index.vue new file mode 100644 index 00000000..8551a222 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/components/category-tree-select/index.vue @@ -0,0 +1,90 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/components/department-tree-select/index.vue b/admin-web/javascript-ant-design-vue/src/components/department-tree-select/index.vue new file mode 100644 index 00000000..74563c9b --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/components/department-tree-select/index.vue @@ -0,0 +1,70 @@ + + + diff --git a/admin-web/javascript-ant-design-vue/src/components/employee-select/index.vue b/admin-web/javascript-ant-design-vue/src/components/employee-select/index.vue new file mode 100644 index 00000000..b5e7dc5a --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/components/employee-select/index.vue @@ -0,0 +1,78 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/components/menu-location-breadcrumb/index.vue b/admin-web/javascript-ant-design-vue/src/components/menu-location-breadcrumb/index.vue new file mode 100644 index 00000000..3c61e078 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/components/menu-location-breadcrumb/index.vue @@ -0,0 +1,31 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/components/recursion-menu/index.vue b/admin-web/javascript-ant-design-vue/src/components/recursion-menu/index.vue new file mode 100644 index 00000000..ec0400d5 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/components/recursion-menu/index.vue @@ -0,0 +1,115 @@ + + + diff --git a/admin-web/javascript-ant-design-vue/src/components/recursion-menu/sub-menu.vue b/admin-web/javascript-ant-design-vue/src/components/recursion-menu/sub-menu.vue new file mode 100644 index 00000000..41d21628 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/components/recursion-menu/sub-menu.vue @@ -0,0 +1,56 @@ + + + diff --git a/admin-web/javascript-ant-design-vue/src/components/school-department-select/index.vue b/admin-web/javascript-ant-design-vue/src/components/school-department-select/index.vue new file mode 100644 index 00000000..418a56f7 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/components/school-department-select/index.vue @@ -0,0 +1,92 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/components/select-employee-modal/index.vue b/admin-web/javascript-ant-design-vue/src/components/select-employee-modal/index.vue new file mode 100644 index 00000000..8eecf4b8 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/components/select-employee-modal/index.vue @@ -0,0 +1,175 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/components/side-expand/side-menu/index.vue b/admin-web/javascript-ant-design-vue/src/components/side-expand/side-menu/index.vue new file mode 100644 index 00000000..f9b43b8b --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/components/side-expand/side-menu/index.vue @@ -0,0 +1,60 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/components/side-expand/side-menu/recursion-menu.vue b/admin-web/javascript-ant-design-vue/src/components/side-expand/side-menu/recursion-menu.vue new file mode 100644 index 00000000..75b404ab --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/components/side-expand/side-menu/recursion-menu.vue @@ -0,0 +1,86 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/components/side-expand/side-menu/sub-menu.vue b/admin-web/javascript-ant-design-vue/src/components/side-expand/side-menu/sub-menu.vue new file mode 100644 index 00000000..e9cb7695 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/components/side-expand/side-menu/sub-menu.vue @@ -0,0 +1,55 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/components/side-expand/side-menu/top-menu.vue b/admin-web/javascript-ant-design-vue/src/components/side-expand/side-menu/top-menu.vue new file mode 100644 index 00000000..afa03b90 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/components/side-expand/side-menu/top-menu.vue @@ -0,0 +1,112 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/components/side-menu/index.less b/admin-web/javascript-ant-design-vue/src/components/side-menu/index.less new file mode 100644 index 00000000..37241638 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/components/side-menu/index.less @@ -0,0 +1,38 @@ +.shadow{ + box-shadow: 2px 0 6px rgba(0, 21, 41, .35); +} +.side-menu{ + min-height: 100vh; + overflow-y: auto; + z-index: 10; + .logo{ + height: @header-user-height; + position: relative; + line-height: @header-user-height; + padding-left: 24px; + -webkit-transition: all .3s; + transition: all .3s; + overflow: hidden; + background-color: @layout-trigger-background; + &.light{ + background-color: #fff; + h1{ + color: @primary-color; + } + } + h1{ + color: @menu-dark-highlight-color; + font-size: 20px; + margin: 0 0 0 12px; + display: inline-block; + vertical-align: middle; + } + img{ + width: 32px; + vertical-align: middle; + } + } +} +.menu{ + padding: 16px 0; +} diff --git a/admin-web/javascript-ant-design-vue/src/components/side-menu/index.vue b/admin-web/javascript-ant-design-vue/src/components/side-menu/index.vue new file mode 100644 index 00000000..bea10e19 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/components/side-menu/index.vue @@ -0,0 +1,69 @@ + + + + + diff --git a/admin-web/javascript-ant-design-vue/src/components/smart-area-cascader/index.vue b/admin-web/javascript-ant-design-vue/src/components/smart-area-cascader/index.vue new file mode 100644 index 00000000..e33692d7 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/components/smart-area-cascader/index.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/admin-web/typescript-ant-design-vue/src/components/smart-area-cascader/province-city-district.ts b/admin-web/javascript-ant-design-vue/src/components/smart-area-cascader/province-city-district.js similarity index 100% rename from admin-web/typescript-ant-design-vue/src/components/smart-area-cascader/province-city-district.ts rename to admin-web/javascript-ant-design-vue/src/components/smart-area-cascader/province-city-district.js diff --git a/admin-web/typescript-ant-design-vue/src/components/smart-area-cascader/province-city.ts b/admin-web/javascript-ant-design-vue/src/components/smart-area-cascader/province-city.js similarity index 100% rename from admin-web/typescript-ant-design-vue/src/components/smart-area-cascader/province-city.ts rename to admin-web/javascript-ant-design-vue/src/components/smart-area-cascader/province-city.js diff --git a/admin-web/typescript-ant-design-vue/src/components/smart-area-cascader/smart-area-option.ts b/admin-web/javascript-ant-design-vue/src/components/smart-area-cascader/smart-area-option.js similarity index 100% rename from admin-web/typescript-ant-design-vue/src/components/smart-area-cascader/smart-area-option.ts rename to admin-web/javascript-ant-design-vue/src/components/smart-area-cascader/smart-area-option.js diff --git a/admin-web/javascript-ant-design-vue/src/components/smart-boolean-select/index.vue b/admin-web/javascript-ant-design-vue/src/components/smart-boolean-select/index.vue new file mode 100644 index 00000000..22f11864 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/components/smart-boolean-select/index.vue @@ -0,0 +1,73 @@ + + + diff --git a/admin-web/javascript-ant-design-vue/src/components/smart-enum-select/index.vue b/admin-web/javascript-ant-design-vue/src/components/smart-enum-select/index.vue new file mode 100644 index 00000000..1e5d02ad --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/components/smart-enum-select/index.vue @@ -0,0 +1,71 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/components/smart-loading/index.js b/admin-web/javascript-ant-design-vue/src/components/smart-loading/index.js new file mode 100644 index 00000000..c47b21e2 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/components/smart-loading/index.js @@ -0,0 +1,13 @@ +import {useSpinStore} from "/@/store/modules/system/spin"; + + +export const SmartLoading = { + + show: () => { + useSpinStore().show(); + }, + + hide: () => { + useSpinStore().hide(); + } +}; diff --git a/admin-web/javascript-ant-design-vue/src/components/smart-table-operator/index.vue b/admin-web/javascript-ant-design-vue/src/components/smart-table-operator/index.vue new file mode 100644 index 00000000..d94867ca --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/components/smart-table-operator/index.vue @@ -0,0 +1,60 @@ + + + \ No newline at end of file diff --git a/admin-web/javascript-ant-design-vue/src/components/upload/index.vue b/admin-web/javascript-ant-design-vue/src/components/upload/index.vue new file mode 100644 index 00000000..132a554a --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/components/upload/index.vue @@ -0,0 +1,158 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/config/app-config.js b/admin-web/javascript-ant-design-vue/src/config/app-config.js new file mode 100644 index 00000000..aac3bba8 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/config/app-config.js @@ -0,0 +1,37 @@ +/* + * @Author: zhuoda + * @Date: 2021-08-03 10:27:11 + * @LastEditTime: 2021-08-25 17:01:33 + * @LastEditors: zhuoda + * @Description: + * @FilePath: /smart-admin/src/config/app-config.ts + */ + +/** + * 应用默认配置 + */ + +export const appDefaultConfig = { + // i18n 语言选择 + languageType: 'zh_CN', + // 布局: side 或者 side-expand + layout: 'side-expand', + // 主题 + theme: 'dark', + // 手机模式最大宽度 768px,如果少于768px,则手机自适应 + mobileMaxWidth: 768, + // 侧边菜单宽度 , 默认为256px + sideMenuWidth: 256, + // 标签页 + multiPageTagFlag: true, + // 标签页缓存, keep-alive, true 开启缓存; false 不开启 + multiPageTagKeepAliveFlag: true, + // 固定头部状态栏,true:固定,false:不固定 + headerFixedFlag: true, + // 固定侧边栏,true:固定,false:不固定 + sideBarFixedFlag: true, + // 隐藏设置,true:隐藏,false:不隐藏 + hideSettingFlag: false, + // 首页页面Name + homePageName: 'Home', +}; diff --git a/admin-web/javascript-ant-design-vue/src/config/project-config.js b/admin-web/javascript-ant-design-vue/src/config/project-config.js new file mode 100644 index 00000000..6193e6bb --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/config/project-config.js @@ -0,0 +1,26 @@ +/* + * @Author: zhuoda + * @Date: 2021-08-03 10:27:11 + * @LastEditTime: 2021-09-01 + * @LastEditors: zhuoda + * @Description: + * @FilePath: /smart-admin/src/config/project-config.ts + */ +import moment from 'moment'; + +/** + * 项目默认配置 + */ + +export const projectDefaultConfig = { + // 项目名称 + projectName: 'SmartAdmin', + // 版权信息 + copyright: 'Copyright ©2015-' + moment().format('YYYY') + '版权所有: 1024创新实验室 ', + // 点击版权的跳转 + copyrightUrl: 'http://www.1024lab.net', + // 版本: 1.0.0 + version: '2.0.0-beta', + // build时间戳 + buildTime: moment().format('YYYY-MM-DD HH:mm:ss'), +}; diff --git a/admin-web/typescript-ant-design-vue/src/constants/business/category.ts b/admin-web/javascript-ant-design-vue/src/constants/business/category.js similarity index 100% rename from admin-web/typescript-ant-design-vue/src/constants/business/category.ts rename to admin-web/javascript-ant-design-vue/src/constants/business/category.js diff --git a/admin-web/typescript-ant-design-vue/src/constants/business/file.ts b/admin-web/javascript-ant-design-vue/src/constants/business/file.js similarity index 100% rename from admin-web/typescript-ant-design-vue/src/constants/business/file.ts rename to admin-web/javascript-ant-design-vue/src/constants/business/file.js diff --git a/admin-web/javascript-ant-design-vue/src/constants/business/goods.js b/admin-web/javascript-ant-design-vue/src/constants/business/goods.js new file mode 100644 index 00000000..183ed0aa --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/constants/business/goods.js @@ -0,0 +1,22 @@ +/* + * @Description: + * @Author: zhuoda + * @Date: 2021-08-11 + * @LastEditTime: 2021-09-01 22:31:37 + * @LastEditors: zhuoda + */ + +// 商品分类 +export const GOODS_TYPE_ENUM = { + BOOK: { + value: 1, + desc: '图书', + }, + COURSE: { + value: 2, + desc: '课程', + }, +}; +export default { + GOODS_TYPE_ENUM, +}; diff --git a/admin-web/javascript-ant-design-vue/src/constants/common.js b/admin-web/javascript-ant-design-vue/src/constants/common.js new file mode 100644 index 00000000..d8646834 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/constants/common.js @@ -0,0 +1,37 @@ +/* + * @Description: + * @Author: zhuoda + * @Date: 2021-08-03 + * @LastEditTime: 2021-08-27 + * @LastEditors: zhuoda + */ + +export const PAGE_SIZE = 15; + +export const PAGE_SIZE_OPTIONS = ['10', '15', '25', '35', '45', '55', '100', '150', '200', '300', '500']; + +export const FLAG_NUMBER_ENUM = { + TRUE: { + value: 1, + desc: '是', + }, + FALSE: { + value: 0, + desc: '否', + }, +}; + +export const GenderEnum = { + UNKNOWN: { + value: 0, + desc: '未知', + }, + MAN: { + value: 1, + desc: '男', + }, + WOMAN: { + value: 2, + desc: '女', + }, +}; diff --git a/admin-web/typescript-ant-design-vue/src/constants/index.ts b/admin-web/javascript-ant-design-vue/src/constants/index.js similarity index 100% rename from admin-web/typescript-ant-design-vue/src/constants/index.ts rename to admin-web/javascript-ant-design-vue/src/constants/index.js diff --git a/admin-web/typescript-ant-design-vue/src/constants/regular.ts b/admin-web/javascript-ant-design-vue/src/constants/regular.js similarity index 100% rename from admin-web/typescript-ant-design-vue/src/constants/regular.ts rename to admin-web/javascript-ant-design-vue/src/constants/regular.js diff --git a/admin-web/javascript-ant-design-vue/src/constants/system/employee.js b/admin-web/javascript-ant-design-vue/src/constants/system/employee.js new file mode 100644 index 00000000..b0b05b3a --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/constants/system/employee.js @@ -0,0 +1,26 @@ +/* + * @Author: zhuoda + * @Date: 2021-08-16 15:12:42 + * @LastEditTime: 2021-08-27 + * @LastEditors: zhuoda + * @Description: + * @FilePath: /smart-admin/src/constants/system/employee.ts + */ +export const GENDER_ENUM = { + UNKNOWN: { + value: 0, + desc: '未知', + }, + MAN: { + value: 1, + desc: '男', + }, + WOMAN: { + value: 2, + desc: '女', + }, +}; + +export default { + GENDER_ENUM, +}; diff --git a/admin-web/javascript-ant-design-vue/src/constants/system/local-storage-key.js b/admin-web/javascript-ant-design-vue/src/constants/system/local-storage-key.js new file mode 100644 index 00000000..5d2f5ba0 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/constants/system/local-storage-key.js @@ -0,0 +1,25 @@ +/* + * @Author: zhuoda + * @Date: 2021-08-09 08:58:11 + * @LastEditTime: 2021-08-18 20:13:28 + * @LastEditors: zhuoda + * @Description: + * @FilePath: /smart-admin/src/constants/system/local-storage-key.ts + */ +/** + * key前缀 + */ +const KEY_PREFIX = 'crm_'; +/** + * localStorageKey集合 + */ +export default { + // 用户信息 + USER_INFO: `${KEY_PREFIX}user_info`, + // 用户菜单路由 + USER_MENU: `${KEY_PREFIX}user_menu`, + // 用户权限点 + USER_POINTS: `${KEY_PREFIX}user_points`, + // 用户的tag列表 + USER_TAG_NAV: `${KEY_PREFIX}user_tag_nav`, +}; diff --git a/admin-web/typescript-ant-design-vue/src/constants/system/menu/menu-enum.ts b/admin-web/javascript-ant-design-vue/src/constants/system/menu/menu-enum.js similarity index 100% rename from admin-web/typescript-ant-design-vue/src/constants/system/menu/menu-enum.ts rename to admin-web/javascript-ant-design-vue/src/constants/system/menu/menu-enum.js diff --git a/admin-web/javascript-ant-design-vue/src/i18n/index.js b/admin-web/javascript-ant-design-vue/src/i18n/index.js new file mode 100644 index 00000000..dde0cff5 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/index.js @@ -0,0 +1,12 @@ + +// 语言选择数组 +export const i18nList = [ + { + text: '简体中文', + value: 'zh_CN', + }, + { + text: 'English', + value: 'en', + }, +] diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/account.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/account.js new file mode 100644 index 00000000..65a4774b --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/account.js @@ -0,0 +1,5 @@ +import settings from './account/settings' + +export default { + ...settings + } diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/account/settings.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/account/settings.js new file mode 100644 index 00000000..74ec4302 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/account/settings.js @@ -0,0 +1,62 @@ +export default { + 'account.settings.menuMap.basic': 'Basic Settings', + 'account.settings.menuMap.security': 'Security Settings', + 'account.settings.menuMap.custom': 'Custom Settings', + 'account.settings.menuMap.binding': 'Account Binding', + 'account.settings.menuMap.notification': 'New Message Notification', + 'account.settings.basic.avatar': 'Avatar', + 'account.settings.basic.change-avatar': 'Change avatar', + 'account.settings.basic.email': 'Email', + 'account.settings.basic.email-message': 'Please input your email!', + 'account.settings.basic.nickname': 'Nickname', + 'account.settings.basic.nickname-message': 'Please input your Nickname!', + 'account.settings.basic.profile': 'Personal profile', + 'account.settings.basic.profile-message': 'Please input your personal profile!', + 'account.settings.basic.profile-placeholder': 'Brief introduction to yourself', + 'account.settings.basic.country': 'Country/Region', + 'account.settings.basic.country-message': 'Please input your country!', + 'account.settings.basic.geographic': 'Province or city', + 'account.settings.basic.geographic-message': 'Please input your geographic info!', + 'account.settings.basic.address': 'Street Address', + 'account.settings.basic.address-message': 'Please input your address!', + 'account.settings.basic.phone': 'Phone Number', + 'account.settings.basic.phone-message': 'Please input your phone!', + 'account.settings.basic.update': 'Update Information', + 'account.settings.basic.update.success': 'Update basic information successfully', + 'account.settings.security.strong': 'Strong', + 'account.settings.security.medium': 'Medium', + 'account.settings.security.weak': 'Weak', + 'account.settings.security.password': 'Account Password', + 'account.settings.security.password-description': 'Current password strength:', + 'account.settings.security.phone': 'Security Phone', + 'account.settings.security.phone-description': 'Bound phone:', + 'account.settings.security.question': 'Security Question', + 'account.settings.security.question-description': + 'The security question is not set, and the security policy can effectively protect the account security', + 'account.settings.security.email': 'Backup Email', + 'account.settings.security.email-description': 'Bound Email:', + 'account.settings.security.mfa': 'MFA Device', + 'account.settings.security.mfa-description': + 'Unbound MFA device, after binding, can be confirmed twice', + 'account.settings.security.modify': 'Modify', + 'account.settings.security.set': 'Set', + 'account.settings.security.bind': 'Bind', + 'account.settings.binding.taobao': 'Binding Taobao', + 'account.settings.binding.taobao-description': 'Currently unbound Taobao account', + 'account.settings.binding.alipay': 'Binding Alipay', + 'account.settings.binding.alipay-description': 'Currently unbound Alipay account', + 'account.settings.binding.dingding': 'Binding DingTalk', + 'account.settings.binding.dingding-description': 'Currently unbound DingTalk account', + 'account.settings.binding.bind': 'Bind', + 'account.settings.notification.password': 'Account Password', + 'account.settings.notification.password-description': + 'Messages from other users will be notified in the form of a station letter', + 'account.settings.notification.messages': 'System Messages', + 'account.settings.notification.messages-description': + 'System messages will be notified in the form of a station letter', + 'account.settings.notification.todo': 'To-do Notification', + 'account.settings.notification.todo-description': + 'The to-do list will be notified in the form of a letter from the station', + 'account.settings.settings.open': 'Open', + 'account.settings.settings.close': 'Close' +} diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/dashboard.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/dashboard.js new file mode 100644 index 00000000..9d408927 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/dashboard.js @@ -0,0 +1,5 @@ +import analysis from './dashboard/analysis' + +export default { + ...analysis + } diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/dashboard/analysis.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/dashboard/analysis.js new file mode 100644 index 00000000..6738d12b --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/dashboard/analysis.js @@ -0,0 +1,36 @@ +export default { + 'dashboard.analysis.test': 'Gongzhuan No.{no} shop', + 'dashboard.analysis.introduce': 'Introduce', + 'dashboard.analysis.total-sales': 'Total Sales', + 'dashboard.analysis.day-sales': 'Daily Sales', + 'dashboard.analysis.visits': 'Visits', + 'dashboard.analysis.visits-trend': 'Visits Trend', + 'dashboard.analysis.visits-ranking': 'Visits Ranking', + 'dashboard.analysis.day-visits': 'Daily Visits', + 'dashboard.analysis.week': 'WoW Change', + 'dashboard.analysis.day': 'DoD Change', + 'dashboard.analysis.payments': 'Payments', + 'dashboard.analysis.conversion-rate': 'Conversion Rate', + 'dashboard.analysis.operational-effect': 'Operational Effect', + 'dashboard.analysis.sales-trend': 'Stores Sales Trend', + 'dashboard.analysis.sales-ranking': 'Sales Ranking', + 'dashboard.analysis.all-year': 'All Year', + 'dashboard.analysis.all-month': 'All Month', + 'dashboard.analysis.all-week': 'All Week', + 'dashboard.analysis.all-day': 'All day', + 'dashboard.analysis.search-users': 'Search Users', + 'dashboard.analysis.per-capita-search': 'Per Capita Search', + 'dashboard.analysis.online-top-search': 'Online Top Search', + 'dashboard.analysis.the-proportion-of-sales': 'The Proportion Of Sales', + 'dashboard.analysis.dropdown-option-one': 'Operation one', + 'dashboard.analysis.dropdown-option-two': 'Operation two', + 'dashboard.analysis.channel.all': 'ALL', + 'dashboard.analysis.channel.online': 'Online', + 'dashboard.analysis.channel.stores': 'Stores', + 'dashboard.analysis.sales': 'Sales', + 'dashboard.analysis.traffic': 'Traffic', + 'dashboard.analysis.table.rank': 'Rank', + 'dashboard.analysis.table.search-keyword': 'Keyword', + 'dashboard.analysis.table.users': 'Users', + 'dashboard.analysis.table.weekly-range': 'Weekly Range' +} diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/form.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/form.js new file mode 100644 index 00000000..d004e527 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/form.js @@ -0,0 +1,5 @@ +import basicForm from './form/basicForm' + +export default { + ...basicForm + } diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/form/basicForm.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/form/basicForm.js new file mode 100644 index 00000000..3ef4bc0b --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/form/basicForm.js @@ -0,0 +1,61 @@ +export default { + 'form.basic-form.basic.title': 'Basic form', + 'form.basic-form.basic.description': + 'Form pages are used to collect or verify information to users, and basic forms are common in scenarios where there are fewer data items.', + 'form.basic-form.title.label': 'Title', + 'form.basic-form.title.placeholder': 'Give the target a name', + 'form.basic-form.title.required': 'Please enter a title', + 'form.basic-form.date.label': 'Start and end date', + 'form.basic-form.placeholder.start': 'Start date', + 'form.basic-form.placeholder.end': 'End date', + 'form.basic-form.date.required': 'Please select the start and end date', + 'form.basic-form.goal.label': 'Goal description', + 'form.basic-form.goal.placeholder': 'Please enter your work goals', + 'form.basic-form.goal.required': 'Please enter a description of the goal', + 'form.basic-form.standard.label': 'Metrics', + 'form.basic-form.standard.placeholder': 'Please enter a metric', + 'form.basic-form.standard.required': 'Please enter a metric', + 'form.basic-form.client.label': 'Client', + 'form.basic-form.label.tooltip': 'Target service object', + 'form.basic-form.client.placeholder': + 'Please describe your customer service, internal customers directly @ Name / job number', + 'form.basic-form.client.required': 'Please describe the customers you serve', + 'form.basic-form.invites.label': 'Inviting critics', + 'form.basic-form.invites.placeholder': + 'Please direct @ Name / job number, you can invite up to 5 people', + 'form.basic-form.weight.label': 'Weight', + 'form.basic-form.weight.placeholder': 'Please enter weight', + 'form.basic-form.public.label': 'Target disclosure', + 'form.basic-form.label.help': 'Customers and invitees are shared by default', + 'form.basic-form.radio.public': 'Public', + 'form.basic-form.radio.partially-public': 'Partially public', + 'form.basic-form.radio.private': 'Private', + 'form.basic-form.publicUsers.placeholder': 'Open to', + 'form.basic-form.option.A': 'Colleague A', + 'form.basic-form.option.B': 'Colleague B', + 'form.basic-form.option.C': 'Colleague C', + 'form.basic-form.email.required': 'Please enter your email!', + 'form.basic-form.email.wrong-format': 'The email address is in the wrong format!', + 'form.basic-form.userName.required': 'Please enter your userName!', + 'form.basic-form.password.required': 'Please enter your password!', + 'form.basic-form.password.twice': 'The passwords entered twice do not match!', + 'form.basic-form.strength.msg': + "Please enter at least 6 characters and don't use passwords that are easy to guess.", + 'form.basic-form.strength.strong': 'Strength: strong', + 'form.basic-form.strength.medium': 'Strength: medium', + 'form.basic-form.strength.short': 'Strength: too short', + 'form.basic-form.confirm-password.required': 'Please confirm your password!', + 'form.basic-form.phone-number.required': 'Please enter your phone number!', + 'form.basic-form.phone-number.wrong-format': 'Malformed phone number!', + 'form.basic-form.verification-code.required': 'Please enter the verification code!', + 'form.basic-form.form.get-captcha': 'Get Captcha', + 'form.basic-form.captcha.second': 'sec', + 'form.basic-form.form.optional': ' (optional) ', + 'form.basic-form.form.submit': 'Submit', + 'form.basic-form.form.save': 'Save', + 'form.basic-form.email.placeholder': 'Email', + 'form.basic-form.password.placeholder': 'Password', + 'form.basic-form.confirm-password.placeholder': 'Confirm password', + 'form.basic-form.phone-number.placeholder': 'Phone number', + 'form.basic-form.verification-code.placeholder': 'Verification code' +} diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/global.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/global.js new file mode 100644 index 00000000..1b0a940e --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/global.js @@ -0,0 +1,6 @@ +export default { + submit: 'Submit', + save: 'Save', + 'submit.ok': 'Submit successfully', + 'save.ok': 'Saved successfully' +} diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/index.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/index.js new file mode 100644 index 00000000..120b786e --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/index.js @@ -0,0 +1,35 @@ +import antdEnUS from 'ant-design-vue/es/locale-provider/en_US' +import momentEU from 'moment/locale/eu' +import global from './global' + +import menu from './menu' +import setting from './setting' +import user from './user' + +import dashboard from './dashboard' +import form from './form' +import result from './result' +import account from './account' + +const components = { + antLocale: antdEnUS, + momentName: 'eu', + momentLocale: momentEU +} + +export default { + message: '-', + + 'layouts.usermenu.dialog.title': 'Message', + 'layouts.usermenu.dialog.content': 'Are you sure you would like to logout?', + 'layouts.userLayout.title': 'Ant Design is the most influential web design specification in Xihu district', + ...components, + ...global, + ...menu, + ...setting, + ...user, + ...dashboard, + ...form, + ...result, + ...account +} diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/menu.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/menu.js new file mode 100644 index 00000000..b3d73eae --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/menu.js @@ -0,0 +1,39 @@ +export default { + 'menu.welcome': 'Welcome', + 'menu.home': 'Home', + 'menu.dashboard': 'Dashboard', + 'menu.dashboard.analysis': 'Analysis', + 'menu.dashboard.monitor': 'Monitor', + 'menu.dashboard.workplace': 'Workplace', + 'menu.form': 'Form', + 'menu.form.basic-form': 'Basic Form', + 'menu.form.step-form': 'Step Form', + 'menu.form.step-form.info': 'Step Form(write transfer information)', + 'menu.form.step-form.confirm': 'Step Form(confirm transfer information)', + 'menu.form.step-form.result': 'Step Form(finished)', + 'menu.form.advanced-form': 'Advanced Form', + 'menu.list': 'List', + 'menu.list.table-list': 'Search Table', + 'menu.list.basic-list': 'Basic List', + 'menu.list.card-list': 'Card List', + 'menu.list.search-list': 'Search List', + 'menu.list.search-list.articles': 'Search List(articles)', + 'menu.list.search-list.projects': 'Search List(projects)', + 'menu.list.search-list.applications': 'Search List(applications)', + 'menu.profile': 'Profile', + 'menu.profile.basic': 'Basic Profile', + 'menu.profile.advanced': 'Advanced Profile', + 'menu.result': 'Result', + 'menu.result.success': 'Success', + 'menu.result.fail': 'Fail', + 'menu.exception': 'Exception', + 'menu.exception.not-permission': '403', + 'menu.exception.not-find': '404', + 'menu.exception.server-error': '500', + 'menu.exception.trigger': 'Trigger', + 'menu.account': 'Account', + 'menu.account.center': 'Account Center', + 'menu.account.settings': 'Account Settings', + 'menu.account.trigger': 'Trigger Error', + 'menu.account.logout': 'Logout' +} diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/result.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/result.js new file mode 100644 index 00000000..75d3a4d6 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/result.js @@ -0,0 +1,7 @@ +import success from './result/success' +import fail from './result/fail' + +export default { + ...success, + ...fail + } diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/result/fail.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/result/fail.js new file mode 100644 index 00000000..168909c3 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/result/fail.js @@ -0,0 +1,11 @@ +export default { + 'result.fail.error.title': 'Submission Failed', + 'result.fail.error.description': + 'Please check and modify the following information before resubmitting.', + 'result.fail.error.hint-title': 'The content you submitted has the following error:', + 'result.fail.error.hint-text1': 'Your account has been frozen', + 'result.fail.error.hint-btn1': 'Thaw immediately', + 'result.fail.error.hint-text2': 'Your account is not yet eligible to apply', + 'result.fail.error.hint-btn2': 'Upgrade immediately', + 'result.fail.error.btn-text': 'Return to modify' +} diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/result/success.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/result/success.js new file mode 100644 index 00000000..fad6c1d2 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/result/success.js @@ -0,0 +1,19 @@ +export default { + 'result.success.title': 'Submission Success', + 'result.success.description': + 'The submission results page is used to feed back the results of a series of operational tasks. If it is a simple operation, use the Message global prompt feedback. This text area can show a simple supplementary explanation. If there is a similar requirement for displaying “documents”, the following gray area can present more complicated content.', + 'result.success.operate-title': 'Project Name', + 'result.success.operate-id': 'Project ID', + 'result.success.principal': 'Principal', + 'result.success.operate-time': 'Effective time', + 'result.success.step1-title': 'Create project', + 'result.success.step1-operator': 'Qu Lili', + 'result.success.step2-title': 'Departmental preliminary review', + 'result.success.step2-operator': 'Zhou Maomao', + 'result.success.step2-extra': 'Urge', + 'result.success.step3-title': 'Financial review', + 'result.success.step4-title': 'Finish', + 'result.success.btn-return': 'Back List', + 'result.success.btn-project': 'View Project', + 'result.success.btn-print': 'Print' +} diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/setting.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/setting.js new file mode 100644 index 00000000..f42ce9fe --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/setting.js @@ -0,0 +1,29 @@ +export default { + 'app.setting.pagestyle': 'Page style setting', + 'app.setting.pagestyle.light': 'Light style', + 'app.setting.pagestyle.dark': 'Dark style', + 'app.setting.pagestyle.realdark': 'RealDark style', + 'app.setting.themecolor': 'Theme Color', + 'app.setting.navigationmode': 'Navigation Mode', + 'app.setting.content-width': 'Content Width', + 'app.setting.fixedheader': 'Fixed Header', + 'app.setting.fixedsidebar': 'Fixed Sidebar', + 'app.setting.sidemenu': 'Side Menu Layout', + 'app.setting.topmenu': 'Top Menu Layout', + 'app.setting.content-width.fixed': 'Fixed', + 'app.setting.content-width.fluid': 'Fluid', + 'app.setting.othersettings': 'Other Settings', + 'app.setting.weakmode': 'Weak Mode', + 'app.setting.copy': 'Copy Setting', + 'app.setting.loading': 'Loading theme', + 'app.setting.copyinfo': 'copy success,please replace defaultSettings in src/config/defaultSettings.js', + 'app.setting.production.hint': 'Setting panel shows in development environment only, please manually modify', + 'app.setting.themecolor.daybreak': 'Daybreak Blue', + 'app.setting.themecolor.dust': 'Dust Red', + 'app.setting.themecolor.volcano': 'Volcano', + 'app.setting.themecolor.sunset': 'Sunset Orange', + 'app.setting.themecolor.cyan': 'Cyan', + 'app.setting.themecolor.green': 'Polar Green', + 'app.setting.themecolor.geekblue': 'Geek Blue', + 'app.setting.themecolor.purple': 'Golden Purple' +} diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/user.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/user.js new file mode 100644 index 00000000..561210ce --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/en-US/user.js @@ -0,0 +1,45 @@ +export default { + 'user.login.userName': 'userName', + 'user.login.password': 'password', + 'user.login.username.placeholder': 'Account: admin', + 'user.login.password.placeholder': 'password: admin or ant.design', + 'user.login.message-invalid-credentials': + 'Invalid username or password(admin/ant.design)', + 'user.login.message-invalid-verification-code': 'Invalid verification code', + 'user.login.tab-login-credentials': 'Credentials', + 'user.login.tab-login-mobile': 'Mobile number', + 'user.login.mobile.placeholder': 'Mobile number', + 'user.login.mobile.verification-code.placeholder': 'Verification code', + 'user.login.remember-me': 'Remember me', + 'user.login.forgot-password': 'Forgot your password?', + 'user.login.sign-in-with': 'Sign in with', + 'user.login.signup': 'Sign up', + 'user.login.login': 'Login', + 'user.register.register': 'Register', + 'user.register.email.placeholder': 'Email', + 'user.register.password.placeholder': 'Password ', + 'user.register.password.popover-message': 'Please enter at least 6 characters. Please do not use passwords that are easy to guess. ', + 'user.register.confirm-password.placeholder': 'Confirm password', + 'user.register.get-verification-code': 'Get code', + 'user.register.sign-in': 'Already have an account?', + 'user.register-result.msg': 'Account:registered at {email}', + 'user.register-result.activation-email': + 'The activation email has been sent to your email address and is valid for 24 hours. Please log in to the email in time and click on the link in the email to activate the account.', + 'user.register-result.back-home': 'Back to home', + 'user.register-result.view-mailbox': 'View mailbox', + 'user.email.required': 'Please enter your email!', + 'user.email.wrong-format': 'The email address is in the wrong format!', + 'user.userName.required': 'Please enter account name or email address', + 'user.password.required': 'Please enter your password!', + 'user.password.twice.msg': 'The passwords entered twice do not match!', + 'user.password.strength.msg': + 'The password is not strong enough', + 'user.password.strength.strong': 'Strength: strong', + 'user.password.strength.medium': 'Strength: medium', + 'user.password.strength.low': 'Strength: low', + 'user.password.strength.short': 'Strength: too short', + 'user.confirm-password.required': 'Please confirm your password!', + 'user.phone-number.required': 'Please enter your phone number!', + 'user.phone-number.wrong-format': 'Please enter a valid phone number', + 'user.verification-code.required': 'Please enter the verification code!' +} diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/account.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/account.js new file mode 100644 index 00000000..65a4774b --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/account.js @@ -0,0 +1,5 @@ +import settings from './account/settings' + +export default { + ...settings + } diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/account/settings.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/account/settings.js new file mode 100644 index 00000000..c6c2eac1 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/account/settings.js @@ -0,0 +1,57 @@ +export default { + 'account.settings.menuMap.basic': '基本设置', + 'account.settings.menuMap.security': '安全设置', + 'account.settings.menuMap.custom': '个性化', + 'account.settings.menuMap.binding': '账号绑定', + 'account.settings.menuMap.notification': '新消息通知', + 'account.settings.basic.avatar': '头像', + 'account.settings.basic.change-avatar': '更换头像', + 'account.settings.basic.email': '邮箱', + 'account.settings.basic.email-message': '请输入您的邮箱!', + 'account.settings.basic.nickname': '昵称', + 'account.settings.basic.nickname-message': '请输入您的昵称!', + 'account.settings.basic.profile': '个人简介', + 'account.settings.basic.profile-message': '请输入个人简介!', + 'account.settings.basic.profile-placeholder': '个人简介', + 'account.settings.basic.country': '国家/地区', + 'account.settings.basic.country-message': '请输入您的国家或地区!', + 'account.settings.basic.geographic': '所在省市', + 'account.settings.basic.geographic-message': '请输入您的所在省市!', + 'account.settings.basic.address': '街道地址', + 'account.settings.basic.address-message': '请输入您的街道地址!', + 'account.settings.basic.phone': '联系电话', + 'account.settings.basic.phone-message': '请输入您的联系电话!', + 'account.settings.basic.update': '更新基本信息', + 'account.settings.basic.update.success': '更新基本信息成功', + 'account.settings.security.strong': '强', + 'account.settings.security.medium': '中', + 'account.settings.security.weak': '弱', + 'account.settings.security.password': '账户密码', + 'account.settings.security.password-description': '当前密码强度:', + 'account.settings.security.phone': '密保手机', + 'account.settings.security.phone-description': '已绑定手机:', + 'account.settings.security.question': '密保问题', + 'account.settings.security.question-description': '未设置密保问题,密保问题可有效保护账户安全', + 'account.settings.security.email': '备用邮箱', + 'account.settings.security.email-description': '已绑定邮箱:', + 'account.settings.security.mfa': 'MFA 设备', + 'account.settings.security.mfa-description': '未绑定 MFA 设备,绑定后,可以进行二次确认', + 'account.settings.security.modify': '修改', + 'account.settings.security.set': '设置', + 'account.settings.security.bind': '绑定', + 'account.settings.binding.taobao': '绑定淘宝', + 'account.settings.binding.taobao-description': '当前未绑定淘宝账号', + 'account.settings.binding.alipay': '绑定支付宝', + 'account.settings.binding.alipay-description': '当前未绑定支付宝账号', + 'account.settings.binding.dingding': '绑定钉钉', + 'account.settings.binding.dingding-description': '当前未绑定钉钉账号', + 'account.settings.binding.bind': '绑定', + 'account.settings.notification.password': '账户密码', + 'account.settings.notification.password-description': '其他用户的消息将以站内信的形式通知', + 'account.settings.notification.messages': '系统消息', + 'account.settings.notification.messages-description': '系统消息将以站内信的形式通知', + 'account.settings.notification.todo': '待办任务', + 'account.settings.notification.todo-description': '待办任务将以站内信的形式通知', + 'account.settings.settings.open': '开', + 'account.settings.settings.close': '关' +} diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/dashboard.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/dashboard.js new file mode 100644 index 00000000..9d408927 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/dashboard.js @@ -0,0 +1,5 @@ +import analysis from './dashboard/analysis' + +export default { + ...analysis + } diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/dashboard/analysis.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/dashboard/analysis.js new file mode 100644 index 00000000..b34f6a6d --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/dashboard/analysis.js @@ -0,0 +1,36 @@ +export default { + 'dashboard.analysis.test': '工专路 {no} 号店', + 'dashboard.analysis.introduce': '指标说明', + 'dashboard.analysis.total-sales': '总销售额', + 'dashboard.analysis.day-sales': '日均销售额¥', + 'dashboard.analysis.visits': '访问量', + 'dashboard.analysis.visits-trend': '访问量趋势', + 'dashboard.analysis.visits-ranking': '门店访问量排名', + 'dashboard.analysis.day-visits': '日访问量', + 'dashboard.analysis.week': '周同比', + 'dashboard.analysis.day': '日同比', + 'dashboard.analysis.payments': '支付笔数', + 'dashboard.analysis.conversion-rate': '转化率', + 'dashboard.analysis.operational-effect': '运营活动效果', + 'dashboard.analysis.sales-trend': '销售趋势', + 'dashboard.analysis.sales-ranking': '门店销售额排名', + 'dashboard.analysis.all-year': '全年', + 'dashboard.analysis.all-month': '本月', + 'dashboard.analysis.all-week': '本周', + 'dashboard.analysis.all-day': '今日', + 'dashboard.analysis.search-users': '搜索用户数', + 'dashboard.analysis.per-capita-search': '人均搜索次数', + 'dashboard.analysis.online-top-search': '线上热门搜索', + 'dashboard.analysis.the-proportion-of-sales': '销售额类别占比', + 'dashboard.analysis.dropdown-option-one': '操作一', + 'dashboard.analysis.dropdown-option-two': '操作二', + 'dashboard.analysis.channel.all': '全部渠道', + 'dashboard.analysis.channel.online': '线上', + 'dashboard.analysis.channel.stores': '门店', + 'dashboard.analysis.sales': '销售额', + 'dashboard.analysis.traffic': '客流量', + 'dashboard.analysis.table.rank': '排名', + 'dashboard.analysis.table.search-keyword': '搜索关键词', + 'dashboard.analysis.table.users': '用户数', + 'dashboard.analysis.table.weekly-range': '周涨幅' +} diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/form.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/form.js new file mode 100644 index 00000000..d004e527 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/form.js @@ -0,0 +1,5 @@ +import basicForm from './form/basicForm' + +export default { + ...basicForm + } diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/form/basicForm.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/form/basicForm.js new file mode 100644 index 00000000..7941075e --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/form/basicForm.js @@ -0,0 +1,58 @@ +export default { + 'form.basic-form.basic.title': '基础表单', + 'form.basic-form.basic.description': + '表单页用于向用户收集或验证信息,基础表单常见于数据项较少的表单场景。', + 'form.basic-form.title.label': '标题', + 'form.basic-form.title.placeholder': '给目标起个名字', + 'form.basic-form.title.required': '请输入标题', + 'form.basic-form.date.label': '起止日期', + 'form.basic-form.placeholder.start': '开始日期', + 'form.basic-form.placeholder.end': '结束日期', + 'form.basic-form.date.required': '请选择起止日期', + 'form.basic-form.goal.label': '目标描述', + 'form.basic-form.goal.placeholder': '请输入你的阶段性工作目标', + 'form.basic-form.goal.required': '请输入目标描述', + 'form.basic-form.standard.label': '衡量标准', + 'form.basic-form.standard.placeholder': '请输入衡量标准', + 'form.basic-form.standard.required': '请输入衡量标准', + 'form.basic-form.client.label': '客户', + 'form.basic-form.client.required': '请描述你服务的客户', + 'form.basic-form.label.tooltip': '目标的服务对象', + 'form.basic-form.client.placeholder': '请描述你服务的客户,内部客户直接 @姓名/工号', + 'form.basic-form.invites.label': '邀评人', + 'form.basic-form.invites.placeholder': '请直接 @姓名/工号,最多可邀请 5 人', + 'form.basic-form.weight.label': '权重', + 'form.basic-form.weight.placeholder': '请输入', + 'form.basic-form.public.label': '目标公开', + 'form.basic-form.label.help': '客户、邀评人默认被分享', + 'form.basic-form.radio.public': '公开', + 'form.basic-form.radio.partially-public': '部分公开', + 'form.basic-form.radio.private': '不公开', + 'form.basic-form.publicUsers.placeholder': '公开给', + 'form.basic-form.option.A': '同事一', + 'form.basic-form.option.B': '同事二', + 'form.basic-form.option.C': '同事三', + 'form.basic-form.email.required': '请输入邮箱地址!', + 'form.basic-form.email.wrong-format': '邮箱地址格式错误!', + 'form.basic-form.userName.required': '请输入用户名!', + 'form.basic-form.password.required': '请输入密码!', + 'form.basic-form.password.twice': '两次输入的密码不匹配!', + 'form.basic-form.strength.msg': '请至少输入 6 个字符。请不要使用容易被猜到的密码。', + 'form.basic-form.strength.strong': '强度:强', + 'form.basic-form.strength.medium': '强度:中', + 'form.basic-form.strength.short': '强度:太短', + 'form.basic-form.confirm-password.required': '请确认密码!', + 'form.basic-form.phone-number.required': '请输入手机号!', + 'form.basic-form.phone-number.wrong-format': '手机号格式错误!', + 'form.basic-form.verification-code.required': '请输入验证码!', + 'form.basic-form.form.get-captcha': '获取验证码', + 'form.basic-form.captcha.second': '秒', + 'form.basic-form.form.optional': '(选填)', + 'form.basic-form.form.submit': '提交', + 'form.basic-form.form.save': '保存', + 'form.basic-form.email.placeholder': '邮箱', + 'form.basic-form.password.placeholder': '至少6位密码,区分大小写', + 'form.basic-form.confirm-password.placeholder': '确认密码', + 'form.basic-form.phone-number.placeholder': '手机号', + 'form.basic-form.verification-code.placeholder': '验证码' +} diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/global.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/global.js new file mode 100644 index 00000000..d4a32d6c --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/global.js @@ -0,0 +1,6 @@ +export default { + submit: '提交', + save: '保存', + 'submit.ok': '提交成功', + 'save.ok': '保存成功' +} diff --git a/admin-web/typescript-ant-design-vue/src/i18n/lang/zh-CN/index.ts b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/index.js similarity index 100% rename from admin-web/typescript-ant-design-vue/src/i18n/lang/zh-CN/index.ts rename to admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/index.js diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/menu.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/menu.js new file mode 100644 index 00000000..8900c44c --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/menu.js @@ -0,0 +1,39 @@ +export default { + 'menu.welcome': '欢迎', + 'menu.home': '主页', + 'menu.dashboard': '仪表盘', + 'menu.dashboard.analysis': '分析页', + 'menu.dashboard.monitor': '监控页', + 'menu.dashboard.workplace': '工作台', + 'menu.form': '表单页', + 'menu.form.basic-form': '基础表单', + 'menu.form.step-form': '分步表单', + 'menu.form.step-form.info': '分步表单(填写转账信息)', + 'menu.form.step-form.confirm': '分步表单(确认转账信息)', + 'menu.form.step-form.result': '分步表单(完成)', + 'menu.form.advanced-form': '高级表单', + 'menu.list': '列表页', + 'menu.list.table-list': '查询表格', + 'menu.list.basic-list': '标准列表', + 'menu.list.card-list': '卡片列表', + 'menu.list.search-list': '搜索列表', + 'menu.list.search-list.articles': '搜索列表(文章)', + 'menu.list.search-list.projects': '搜索列表(项目)', + 'menu.list.search-list.applications': '搜索列表(应用)', + 'menu.profile': '详情页', + 'menu.profile.basic': '基础详情页', + 'menu.profile.advanced': '高级详情页', + 'menu.result': '结果页', + 'menu.result.success': '成功页', + 'menu.result.fail': '失败页', + 'menu.exception': '异常页', + 'menu.exception.not-permission': '403', + 'menu.exception.not-find': '404', + 'menu.exception.server-error': '500', + 'menu.exception.trigger': '触发错误', + 'menu.account': '个人页', + 'menu.account.center': '个人中心', + 'menu.account.settings': '个人设置', + 'menu.account.trigger': '触发报错', + 'menu.account.logout': '退出登录' +} diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/result.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/result.js new file mode 100644 index 00000000..75d3a4d6 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/result.js @@ -0,0 +1,7 @@ +import success from './result/success' +import fail from './result/fail' + +export default { + ...success, + ...fail + } diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/result/fail.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/result/fail.js new file mode 100644 index 00000000..a9279e10 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/result/fail.js @@ -0,0 +1,10 @@ +export default { + 'result.fail.error.title': '提交失败', + 'result.fail.error.description': '请核对并修改以下信息后,再重新提交。', + 'result.fail.error.hint-title': '您提交的内容有如下错误:', + 'result.fail.error.hint-text1': '您的账户已被冻结', + 'result.fail.error.hint-btn1': '立即解冻', + 'result.fail.error.hint-text2': '您的账户还不具备申请资格', + 'result.fail.error.hint-btn2': '立即升级', + 'result.fail.error.btn-text': '返回修改' +} diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/result/success.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/result/success.js new file mode 100644 index 00000000..bd18f9fb --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/result/success.js @@ -0,0 +1,19 @@ +export default { + 'result.success.title': '提交成功', + 'result.success.description': + '提交结果页用于反馈一系列操作任务的处理结果, 如果仅是简单操作,使用 Message 全局提示反馈即可。 本文字区域可以展示简单的补充说明,如果有类似展示 “单据”的需求,下面这个灰色区域可以呈现比较复杂的内容。', + 'result.success.operate-title': '项目名称', + 'result.success.operate-id': '项目 ID', + 'result.success.principal': '负责人', + 'result.success.operate-time': '生效时间', + 'result.success.step1-title': '创建项目', + 'result.success.step1-operator': '曲丽丽', + 'result.success.step2-title': '部门初审', + 'result.success.step2-operator': '周毛毛', + 'result.success.step2-extra': '催一下', + 'result.success.step3-title': '财务复核', + 'result.success.step4-title': '完成', + 'result.success.btn-return': '返回列表', + 'result.success.btn-project': '查看项目', + 'result.success.btn-print': '打印' +} diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/setting.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/setting.js new file mode 100644 index 00000000..0166d0b2 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/setting.js @@ -0,0 +1,29 @@ +export default { + 'app.setting.pagestyle': '整体风格设置', + 'app.setting.pagestyle.light': '亮色菜单风格', + 'app.setting.pagestyle.dark': '暗色菜单风格', + 'app.setting.pagestyle.realdark': '暗黑模式', + 'app.setting.themecolor': '主题色', + 'app.setting.navigationmode': '导航模式', + 'app.setting.content-width': '内容区域宽度', + 'app.setting.fixedheader': '固定 Header', + 'app.setting.fixedsidebar': '固定侧边栏', + 'app.setting.sidemenu': '侧边菜单布局', + 'app.setting.topmenu': '顶部菜单布局', + 'app.setting.content-width.fixed': 'Fixed', + 'app.setting.content-width.fluid': 'Fluid', + 'app.setting.othersettings': '其他设置', + 'app.setting.weakmode': '色弱模式', + 'app.setting.copy': '拷贝设置', + 'app.setting.loading': '加载主题中', + 'app.setting.copyinfo': '拷贝设置成功 src/config/defaultSettings.js', + 'app.setting.production.hint': '配置栏只在开发环境用于预览,生产环境不会展现,请拷贝后手动修改配置文件', + 'app.setting.themecolor.daybreak': '拂晓蓝', + 'app.setting.themecolor.dust': '薄暮', + 'app.setting.themecolor.volcano': '火山', + 'app.setting.themecolor.sunset': '日暮', + 'app.setting.themecolor.cyan': '明青', + 'app.setting.themecolor.green': '极光绿', + 'app.setting.themecolor.geekblue': '极客蓝', + 'app.setting.themecolor.purple': '酱紫' +} diff --git a/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/user.js b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/user.js new file mode 100644 index 00000000..37731d9e --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/i18n/lang/zh-CN/user.js @@ -0,0 +1,43 @@ +export default { + 'user.login.userName': '用户名', + 'user.login.password': '密码', + 'user.login.username.placeholder': '账户: admin', + 'user.login.password.placeholder': '密码: admin or ant.design', + 'user.login.message-invalid-credentials': '账户或密码错误(admin/ant.design)', + 'user.login.message-invalid-verification-code': '验证码错误', + 'user.login.tab-login-credentials': '账户密码登录', + 'user.login.tab-login-mobile': '手机号登录', + 'user.login.mobile.placeholder': '手机号', + 'user.login.mobile.verification-code.placeholder': '验证码', + 'user.login.remember-me': '自动登录', + 'user.login.forgot-password': '忘记密码', + 'user.login.sign-in-with': '其他登录方式', + 'user.login.signup': '注册账户', + 'user.login.login': '登录', + 'user.register.register': '注册', + 'user.register.email.placeholder': '邮箱', + 'user.register.password.placeholder': '请至少输入 6 个字符。请不要使用容易被猜到的密码。', + 'user.register.password.popover-message': '请至少输入 6 个字符。请不要使用容易被猜到的密码。', + 'user.register.confirm-password.placeholder': '确认密码', + 'user.register.get-verification-code': '获取验证码', + 'user.register.sign-in': '使用已有账户登录', + 'user.register-result.msg': '你的账户:{email} 注册成功', + 'user.register-result.activation-email': + '激活邮件已发送到你的邮箱中,邮件有效期为24小时。请及时登录邮箱,点击邮件中的链接激活帐户。', + 'user.register-result.back-home': '返回首页', + 'user.register-result.view-mailbox': '查看邮箱', + 'user.email.required': '请输入邮箱地址!', + 'user.email.wrong-format': '邮箱地址格式错误!', + 'user.userName.required': '请输入帐户名或邮箱地址', + 'user.password.required': '请输入密码!', + 'user.password.twice.msg': '两次输入的密码不匹配!', + 'user.password.strength.msg': '密码强度不够 ', + 'user.password.strength.strong': '强度:强', + 'user.password.strength.medium': '强度:中', + 'user.password.strength.low': '强度:低', + 'user.password.strength.short': '强度:太短', + 'user.confirm-password.required': '请确认密码!', + 'user.phone-number.required': '请输入正确的手机号', + 'user.phone-number.wrong-format': '手机号格式错误!', + 'user.verification-code.required': '请输入验证码!' +} diff --git a/admin-web/javascript-ant-design-vue/src/layout/components/smart-footer/index.vue b/admin-web/javascript-ant-design-vue/src/layout/components/smart-footer/index.vue new file mode 100644 index 00000000..6fda25b8 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/layout/components/smart-footer/index.vue @@ -0,0 +1,44 @@ + + + + + + diff --git a/admin-web/javascript-ant-design-vue/src/layout/components/smart-header-user-space/header-avatar.vue b/admin-web/javascript-ant-design-vue/src/layout/components/smart-header-user-space/header-avatar.vue new file mode 100644 index 00000000..7cb8e45f --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/layout/components/smart-header-user-space/header-avatar.vue @@ -0,0 +1,96 @@ + + + + + diff --git a/admin-web/javascript-ant-design-vue/src/layout/components/smart-header-user-space/header-notice.vue b/admin-web/javascript-ant-design-vue/src/layout/components/smart-header-user-space/header-notice.vue new file mode 100644 index 00000000..e2ce02aa --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/layout/components/smart-header-user-space/header-notice.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/admin-web/javascript-ant-design-vue/src/layout/components/smart-header-user-space/i18n-selector.vue b/admin-web/javascript-ant-design-vue/src/layout/components/smart-header-user-space/i18n-selector.vue new file mode 100644 index 00000000..39b9c6ad --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/layout/components/smart-header-user-space/i18n-selector.vue @@ -0,0 +1,39 @@ + + + \ No newline at end of file diff --git a/admin-web/javascript-ant-design-vue/src/layout/components/smart-header-user-space/index.vue b/admin-web/javascript-ant-design-vue/src/layout/components/smart-header-user-space/index.vue new file mode 100644 index 00000000..a8d36b11 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/layout/components/smart-header-user-space/index.vue @@ -0,0 +1,47 @@ + + + + + + diff --git a/admin-web/javascript-ant-design-vue/src/layout/components/smart-header/components/header-avatar.vue b/admin-web/javascript-ant-design-vue/src/layout/components/smart-header/components/header-avatar.vue new file mode 100644 index 00000000..b5ea6878 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/layout/components/smart-header/components/header-avatar.vue @@ -0,0 +1,73 @@ + + + + + + diff --git a/admin-web/javascript-ant-design-vue/src/layout/components/smart-header/components/header-notice.vue b/admin-web/javascript-ant-design-vue/src/layout/components/smart-header/components/header-notice.vue new file mode 100644 index 00000000..e8dd2f6f --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/layout/components/smart-header/components/header-notice.vue @@ -0,0 +1,123 @@ + + + + + diff --git a/admin-web/javascript-ant-design-vue/src/layout/components/smart-header/components/header-search.vue b/admin-web/javascript-ant-design-vue/src/layout/components/smart-header/components/header-search.vue new file mode 100644 index 00000000..650268b8 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/layout/components/smart-header/components/header-search.vue @@ -0,0 +1,91 @@ + + + + + + diff --git a/admin-web/javascript-ant-design-vue/src/layout/components/smart-header/index.less b/admin-web/javascript-ant-design-vue/src/layout/components/smart-header/index.less new file mode 100644 index 00000000..b68320f1 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/layout/components/smart-header/index.less @@ -0,0 +1,92 @@ +.admin-header { + padding: 0; + z-index: 2; + box-shadow: @shadow-down; + position: relative; + background: @base-bg-color; + .head-menu { + height: 64px; + line-height: 64px; + vertical-align: middle; + box-shadow: none; + } + &.dark { + background: @header-bg-color-dark; + color: white; + } + &.night { + .head-menu { + background: @base-bg-color; + } + } + .admin-header-wide { + padding-left: 24px; + &.head.fixed { + max-width: 1400px; + margin: auto; + padding-left: 0; + } + &.side { + padding-right: 12px; + } + .logo { + height: 64px; + line-height: 58px; + vertical-align: top; + display: inline-block; + padding: 0 12px 0 24px; + cursor: pointer; + font-size: 20px; + color: inherit; + &.pc { + padding: 0 12px 0 0; + } + img { + vertical-align: middle; + } + h1 { + color: inherit; + display: inline-block; + font-size: 16px; + } + } + .trigger { + font-size: 20px; + line-height: 64px; + padding: 0 24px; + cursor: pointer; + transition: color 0.3s; + &:hover { + color: @primary-color; + } + } + .admin-header-menu { + display: inline-block; + } + .admin-header-right { + float: right; + display: flex; + color: inherit; + .header-item { + color: inherit; + padding: 0 12px; + cursor: pointer; + align-self: center; + a { + color: inherit; + i { + font-size: 16px; + } + } + } + each(@theme-list, { + &.@{value} .header-item{ + &:hover{ + @class: ~'hover-bg-color-@{value}'; + background-color: @@class; + } + } + }); + } + } +} diff --git a/admin-web/javascript-ant-design-vue/src/layout/components/smart-header/index.vue b/admin-web/javascript-ant-design-vue/src/layout/components/smart-header/index.vue new file mode 100644 index 00000000..c2ac6b07 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/layout/components/smart-header/index.vue @@ -0,0 +1,150 @@ + + + + + diff --git a/admin-web/javascript-ant-design-vue/src/layout/components/smart-page-tag/index.vue b/admin-web/javascript-ant-design-vue/src/layout/components/smart-page-tag/index.vue new file mode 100644 index 00000000..2a42e106 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/layout/components/smart-page-tag/index.vue @@ -0,0 +1,235 @@ + + + + + diff --git a/admin-web/javascript-ant-design-vue/src/layout/smart-layout.vue b/admin-web/javascript-ant-design-vue/src/layout/smart-layout.vue new file mode 100644 index 00000000..a10814f2 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/layout/smart-layout.vue @@ -0,0 +1,23 @@ + + + diff --git a/admin-web/javascript-ant-design-vue/src/layout/smart-parent-view.vue b/admin-web/javascript-ant-design-vue/src/layout/smart-parent-view.vue new file mode 100644 index 00000000..7bf61489 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/layout/smart-parent-view.vue @@ -0,0 +1,3 @@ + diff --git a/admin-web/javascript-ant-design-vue/src/layout/smart-side-expand-layout.vue b/admin-web/javascript-ant-design-vue/src/layout/smart-side-expand-layout.vue new file mode 100644 index 00000000..74b8b42a --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/layout/smart-side-expand-layout.vue @@ -0,0 +1,160 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/layout/smart-side-layout.vue b/admin-web/javascript-ant-design-vue/src/layout/smart-side-layout.vue new file mode 100644 index 00000000..44a552d5 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/layout/smart-side-layout.vue @@ -0,0 +1,175 @@ + + + + + diff --git a/admin-web/javascript-ant-design-vue/src/lib/axios.js b/admin-web/javascript-ant-design-vue/src/lib/axios.js new file mode 100644 index 00000000..afd9732b --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/lib/axios.js @@ -0,0 +1,116 @@ +import axios, { AxiosRequestConfig } from 'axios'; +import { useUserStore } from '@/store/modules/system/user'; +import { message } from 'ant-design-vue'; +import { clearAllCoolies } from '/@/utils/cookie-util'; +import { smartSentry } from '/@/lib/smart-sentry'; + +const TOKEN_HEADER = 'x-access-token'; + +const smartAxios = axios.create({ + baseURL: import.meta.env.VITE_APP_API_URL, +}); + +// ================================= 请求拦截器 ================================= + +smartAxios.interceptors.request.use( + (config) => { + // 在发送请求之前消息头加入token token + const token = useUserStore().getToken; + if (token) { + config.headers[TOKEN_HEADER] = token; + } else { + delete config.headers[TOKEN_HEADER]; + } + return config; + }, + (error) => { + // 对请求错误做些什么 + return Promise.reject(error); + } +); + +// ================================= 响应拦截器 ================================= + +// 添加响应拦截器 +smartAxios.interceptors.response.use( + (response) => { + // 对响应数据做点什么 + const res = response.data; + if (res.code && res.code !== 1) { + // `token` 过期或者账号已在别处登录 + if (res.code === 30007 || res.code === 30008) { + message.error('您没有登录,请重新登录'); + //TODO 跳转到登录页面 + setTimeout(() => { + clearAllCoolies(); + location.href = '/'; + }); + return Promise.reject(response); + } + message.error(res.msg); + return Promise.reject(response); + } else { + return Promise.resolve(res); + } + }, + (error) => { + // 对响应错误做点什么 + if (error.message.indexOf('timeout') != -1) { + message.error('网络超时'); + } else if (error.message == 'Network Error') { + message.error('网络连接错误'); + } + return Promise.reject(error); + } +); + +// ================================= 对外提供请求方法:通用请求,get, post, 下载download等 ================================= + +/** + * 通用请求封装 + * @param config + */ +export const request = (config) => { + return smartAxios.request(config); +}; + +/** + * post请求 + */ +export const postRequest = (url, data) => { + return request({ data, url, method: 'post' }); +}; + +/** + * get请求 + */ +export const getRequest = (url, params) => { + return request({ url, method: 'get', params }); +}; + +/** + * 下载 + */ +export const download = function (fileName, url, params) { + request({ + method: 'get', + url: url, + params: params, + responseType: 'blob', + }) + .then((data) => { + if (!data) { + return; + } + let url = window.URL.createObjectURL(new Blob([data])); + let link = document.createElement('a'); + link.style.display = 'none'; + link.href = url; + link.setAttribute('download', fileName); + document.body.appendChild(link); + link.click(); + }) + .catch((error) => { + smartSentry.captureException(error); + }); +}; diff --git a/admin-web/javascript-ant-design-vue/src/lib/smart-sentry.js b/admin-web/javascript-ant-design-vue/src/lib/smart-sentry.js new file mode 100644 index 00000000..0e6721a2 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/lib/smart-sentry.js @@ -0,0 +1,22 @@ +/* + * @Description:报错收集 + * @Author: zhuoda + * @Date: 2021-08-27 + * @LastEditTime: 2021-08-27 + * @LastEditors: zhuoda + */ + +// import * as Sentry from '@sentry/browser'; +export const smartSentry = { + /** + * sentry 主动上报 + * @param {error} error 错误信息 + */ + captureException: (error) => { + if (error.config && error.data && error && error.headers && error.request && error.status) { + return; + } + // Sentry.captureException(error); + console.log(error); + }, +}; diff --git a/admin-web/javascript-ant-design-vue/src/lib/smart-wartermark.js b/admin-web/javascript-ant-design-vue/src/lib/smart-wartermark.js new file mode 100644 index 00000000..0b358626 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/lib/smart-wartermark.js @@ -0,0 +1,93 @@ +/* + * @Description:水印 + * @Author: zhuoda + * @Date: 2021-08-28 + * @LastEditTime: 2021-08-31 + * @LastEditors: zhuoda + */ + +import moment from 'moment'; + +/** + * 水印DOM id + */ +const WATER_MARK_DOM_ID = 'smart_admin_water_mark'; +let smartAdminWaterMarkIntervalId = null; + +/** + * + * 因为modal的z-index为1000,所以为了modal的黑色背景隐藏掉,z-index为 999 + * + * @param id + * @param str + * @param watermarkId + * @returns + */ + +function setWatermark (id, str) { + //删掉之前的水印 + if (document.getElementById(WATER_MARK_DOM_ID) !== null) { + document.getElementById(WATER_MARK_DOM_ID)?.remove(); + } + + str = str + ' ' + moment().format('YYYY-MM-DD HH:mm'); + + //创建一个画布 + const can = document.createElement('canvas'); + //设置画布的长宽 + can.width = 400; + can.height = 200; + + const cans = can.getContext('2d'); + //旋转角度 + cans.rotate((-15 * Math.PI) / 150); + cans.font = '16px Microsoft JhengHei'; + //设置填充绘画的颜色、渐变或者模式 + cans.fillStyle = 'rgba(190, 190, 190, 0.30)'; + //设置文本内容的当前对齐方式 + cans.textAlign = 'left'; + //设置在绘制文本时使用的当前文本基线 + cans.textBaseline = 'Middle'; + //在画布上绘制填色的文本(输出的文本,开始绘制文本的X坐标位置,开始绘制文本的Y坐标位置) + cans.fillText(str, can.width / 8, can.height / 2); + const div = document.createElement('div'); + div.id = WATER_MARK_DOM_ID; + div.style.pointerEvents = 'none'; + div.style.top = '80px'; + div.style.left = '0px'; + div.style.position = 'absolute'; + div.style.zIndex = '999'; + div.style.width = '100%'; + div.style.height = '100%'; + div.style.background = 'url(' + can.toDataURL('image/png') + ') left top repeat'; + document.getElementById(id)?.appendChild(div); +} + +const watermark = { + // 该方法只允许调用一次 + set: function (id, str) { + // 如果存在水印,则不允许再调用了 + if (document.getElementById(WATER_MARK_DOM_ID) !== null) { + alert('已经添加过全局水印了,请不要再重复添加!'); + return; + } + + setWatermark(id, str); + smartAdminWaterMarkIntervalId = setInterval(() => { + setWatermark(id, str); + }, 60000); + + window.onresize = () => { + setWatermark(id, str); + }; + }, + // 清空水印 + clear: function () { + document.getElementById(WATER_MARK_DOM_ID)?.remove(); + window.removeEventListener('resize', setWatermark); + if (smartAdminWaterMarkIntervalId) { + clearInterval(smartAdminWaterMarkIntervalId); + } + }, +}; +export default watermark; diff --git a/admin-web/javascript-ant-design-vue/src/main.js b/admin-web/javascript-ant-design-vue/src/main.js new file mode 100644 index 00000000..f4d97673 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/main.js @@ -0,0 +1,34 @@ +/* + * @Description: 主方法 + * @Author: zhuoda + * @Date: 2021-08-03 + * @LastEditTime: 2021-08-27 + * @LastEditors: zhuoda + */ +import { createApp } from 'vue'; +import { router } from '/@/router/index'; +import { store } from '/@/store/index'; +import Antd from 'ant-design-vue'; +import './theme/index.less'; +import constantsInfo from '/@/constants/index'; +import * as antIcons from '@ant-design/icons-vue'; +import lodash from 'lodash'; +import moment from 'moment'; +import 'moment/dist/locale/zh-cn'; +import Enum from 'vue-enum'; +import App from './App.vue'; + +moment.locale('zh-cn'); + +let vueApp = createApp(App); +let app = vueApp.use(router).use(store).use(Antd).use(Enum, constantsInfo); + +// 注册图标组件 +Object.keys(antIcons).forEach((key) => { + app.component(key, antIcons[key]); +}); +//全局 +app.config.globalProperties.$antIcons = antIcons; +app.config.globalProperties.$lodash = lodash; +//挂载 +app.mount('#app'); diff --git a/admin-web/javascript-ant-design-vue/src/router/index.js b/admin-web/javascript-ant-design-vue/src/router/index.js new file mode 100644 index 00000000..c36a0035 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/router/index.js @@ -0,0 +1,143 @@ +import { createRouter, createWebHashHistory } from 'vue-router'; +import { routerArray } from './routers'; +import nProgress from 'nprogress'; +import 'nprogress/nprogress.css'; +import { clearAllCoolies, getTokenFromCookie } from '/@/utils/cookie-util'; +import { useUserStore } from '/@/store/modules/system/user'; +import _ from 'lodash'; +import SmartLayout from '@/layout/smart-layout.vue'; +import SmartParentView from '@/layout/smart-parent-view.vue'; +import { MENU_TYPE_ENUM } from '@/constants/system/menu/menu-enum'; + +const LOGIN_PAGE_NAME = 'Login'; + +export const router = createRouter({ + history: createWebHashHistory(), + routes: routerArray, + strict: true, + scrollBehavior: () => ({ left: 0, top: 0 }), +}); + +// ----------------------- 路由加载前 ----------------------- +router.beforeEach(async (to, from, next) => { + console.log(from.path); + + nProgress.configure({ showSpinner: false }); + if (to.meta.title) { + nProgress.start(); + } + + // 公共页面,任何时候都可以跳转 + if (to.path === '/login' || to.path === '/403' || to.path === '/404') { + next(); + nProgress.done(); + return; + } + + // 非公共页面,就需要验证token了 + const token = getTokenFromCookie(); + if (!token) { + // 跳转到 登录页面 + clearAllCoolies(); + nProgress.done(); + next({ + name: LOGIN_PAGE_NAME, + }); + return; + } + + // 设置tagNav + useUserStore().setTagNav(to, from); + + let serverRoutes = router.getRoutes().filter((e) => e.meta.fromServer); + if (!_.isEmpty(serverRoutes)) { + next(); + return; + } + + // 判断是否获取有用户菜单 + let menuTree = useUserStore().getMenuTree || []; + if (!_.isEmpty(menuTree)) { + let routeList = buildRoutes(menuTree, 1, []); + routeList.forEach((e) => { + router.addRoute(e); + }); + } + next({ ...to, replace: true }); +}); + +// ----------------------- 路由加载后 ----------------------- +router.afterEach(() => { + nProgress.done(); +}); + +// ----------------------- 构建router对象 ----------------------- +function buildRoutes(menuList, level, parentMenuList) { + const resList = []; + // 获取所有vue组件 + const modules = import.meta.glob('../views/**/**.vue'); + for (let e of menuList) { + if (level == 1) { + parentMenuList = []; + } + // @ts-ignore + let menuIdStr = e.menuId.toString(); + let route = { + // @ts-ignore + path: e.path.startsWith('/') ? e.path : `/${e.path}`, + // 使用menuId作为name唯一标识 + name: menuIdStr, + meta: { + // 菜单展示 + title: e.menuName, + // 菜单图标展示 + icon: e.icon, + // 是否在菜单隐藏 + hideInMenu: !e.visibleFlag, + // 页面是否keep-alive缓存 + noKeepAlive: e.cacheFlag, + // 菜单类型 由于router.getRoutes()会把所有路由全部返回(目录以及菜单) 需要一个标识过滤出目录类型 + menuType: e.menuType, + // 是否来自服务器 用于在beforeEach中判断router是否已经加载了来自服务器的路由 以此跳过重复addRoute + fromServer: true, + // 上级菜单目录唯一标识集合 用于a-menu展开菜单目录 + parentMenuList: parentMenuList, + }, + component: level == 1 ? SmartLayout : SmartParentView, + }; + if (e.menuType == MENU_TYPE_ENUM.MENU.value) { + let componentPath = e.component && e.component.startsWith('/') ? e.component : '/' + e.component; + let relativePath = `../views${componentPath}`; + // eslint-disable-next-line no-prototype-builtins + if (modules.hasOwnProperty(relativePath)) { + route.component = modules[relativePath]; + } + } + if (!_.isEmpty(e.children)) { + // 递归 + parentMenuList.push({ name: menuIdStr, title: e.menuName }); + route.children = buildRoutes(e.children || [], level + 1, parentMenuList); + } + // 如果当前是一级且是菜单 需要在外面包一层虚拟路由承载SmartLayout + if (level == 1 && e.menuType == MENU_TYPE_ENUM.MENU.value) { + if (!route.meta) { + continue; + } + route.meta.parentMenuList.push({ name: menuIdStr, title: e.menuName }); + let virtualRoute = { + // @ts-ignore + // path: e.path.startsWith('/') ? e.path : `/${e.path}`, + path: `/virtual-${menuIdStr}`, + // 使用menuId作为name唯一标识 + name: `virtual${menuIdStr}`, + meta: {}, + component: SmartLayout, + children: [route], + }; + resList.push(virtualRoute); + continue; + } + resList.push(route); + } + return resList; +} diff --git a/admin-web/javascript-ant-design-vue/src/router/routers.js b/admin-web/javascript-ant-design-vue/src/router/routers.js new file mode 100644 index 00000000..731a906c --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/router/routers.js @@ -0,0 +1,8 @@ +import {loginRouters} from './system/login'; +import {homeRouters} from './system/home'; + +export const routerArray = [ + ...loginRouters, + ...homeRouters, + +] diff --git a/admin-web/javascript-ant-design-vue/src/router/system/home.js b/admin-web/javascript-ant-design-vue/src/router/system/home.js new file mode 100644 index 00000000..2694c377 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/router/system/home.js @@ -0,0 +1,37 @@ +/* + * @Description: + * @version: + * @Author: zhuoda + * @Date: 2021-08-20 15:06:57 + * @LastEditors: zhuoda + * @LastEditTime: 2021-08-25 21:02:29 + */ +import SmartLayout from '/@/layout/smart-layout.vue'; +import { MENU_TYPE_ENUM } from '/@/constants/system/menu/menu-enum'; + +export const homeRouters = [ + { + path: '/', + name: '_home', + redirect: '/home', + component: SmartLayout, + meta: { + title: '首页', + menuType: MENU_TYPE_ENUM.CATALOG.value, + icon: 'HomeOutlined', + }, + children: [ + { + path: '/home', + name: 'Home', + meta: { + title: '首页', + menuType: MENU_TYPE_ENUM.MENU.value, + icon: 'HomeOutlined', + parentMenuList: [{ name: '_home', title: '首页' }], + }, + component: () => import('@/views/system/home/index.vue'), + }, + ], + }, +]; diff --git a/admin-web/javascript-ant-design-vue/src/router/system/login.js b/admin-web/javascript-ant-design-vue/src/router/system/login.js new file mode 100644 index 00000000..005d5410 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/router/system/login.js @@ -0,0 +1,19 @@ +/* + * @Description: + * @Author: zhuoda + * @Date: 2021-08-03 + * @LastEditTime: 2021-08-30 17:51:22 + * @LastEditors: zhuoda + */ + +export const loginRouters = [ + { + path: '/login', + name: 'Login', + component: () => import('/@/views/system/login/login.vue'), + meta: { + title: '登录', + hideInMenu: true, + }, + }, +]; diff --git a/admin-web/javascript-ant-design-vue/src/shims-vue.d.ts b/admin-web/javascript-ant-design-vue/src/shims-vue.d.ts new file mode 100644 index 00000000..db7d543d --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/shims-vue.d.ts @@ -0,0 +1,24 @@ +/* + * @Description: + * @Author: zhuoda + * @Date: 2021-08-03 + * @LastEditTime: 2021-08-27 + * @LastEditors: zhuoda + */ +import * as lodash from 'lodash'; + +declare module '*.vue' { + import { Component } from 'vue'; + const component: Component; + export default component; +} + +// 对vue进行类型补充说明 +declare module '@vue/runtime-core' { + interface ComponentCustomProperties { + // 常量图标 + $antIcons: Object; + // lodash工具类 + $lodash: lodash; + } +} diff --git a/admin-web/typescript-ant-design-vue/src/store/index.ts b/admin-web/javascript-ant-design-vue/src/store/index.js similarity index 100% rename from admin-web/typescript-ant-design-vue/src/store/index.ts rename to admin-web/javascript-ant-design-vue/src/store/index.js diff --git a/admin-web/javascript-ant-design-vue/src/store/modules/model/UserTagNav.ts b/admin-web/javascript-ant-design-vue/src/store/modules/model/UserTagNav.ts new file mode 100644 index 00000000..3d171900 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/store/modules/model/UserTagNav.ts @@ -0,0 +1,35 @@ +/* + * @Author: zhuoda + * @Date: 2021-08-09 17:11:01 + * @LastEditTime: 2021-08-19 17:53:36 + * @LastEditors: zhuoda + * @Description: + */ + +import { LocationQueryRaw } from 'vue-router'; + +/** + * 用户的tag列表 + */ +export interface UserTagNav { + /** + * 菜单名称-ID + */ + menuName: string; + /** + * 菜单标题 + */ + menuTitle: string; + /** + * 菜单请求参数 + */ + menuQuery?: LocationQueryRaw; + /** + * 从哪个菜单过来的 + */ + fromMenuName?: string; + /** + * 从哪个菜单过来的 请求参数 + */ + fromMenuQuery?: LocationQueryRaw; +} diff --git a/admin-web/javascript-ant-design-vue/src/store/modules/system/app-config.js b/admin-web/javascript-ant-design-vue/src/store/modules/system/app-config.js new file mode 100644 index 00000000..aa57e329 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/store/modules/system/app-config.js @@ -0,0 +1,43 @@ +/* + * @Description: + * @Author: zhuoda + * @Date: 2021-08-03 + * @LastEditTime: 2021-08-27 + * @LastEditors: zhuoda + */ +import { defineStore } from 'pinia'; +import { appDefaultConfig } from '@/config/app-config'; + +export const useAppConfigStore = defineStore({ + id: 'appConfig', + state: () => ({ + //当前屏幕宽度 + currentScreenWidth: document.body.clientWidth, + // 是否为手机端模式,默认不是 + isMobile: false, + // 读取config下的默认配置 + ...appDefaultConfig, + }), + getters: { + /** + * 只有在头部header 固定的时候,才会把标签固定 + * @param state + */ + getPageTagFixedFlag(state) { + return state.headerFixedFlag; + }, + }, + + actions: { + // 更新当前屏幕宽度 + setCurrentScreenWidth(clientWidth) { + this.currentScreenWidth = clientWidth; + // 如果当前宽度小于设置的手机最大宽度,则为手机css适配模式 + this.isMobile = this.currentScreenWidth < this.mobileMaxWidth; + }, + // 更新语言 + setLanguage(language) { + console.log(language); + }, + }, +}); diff --git a/admin-web/javascript-ant-design-vue/src/store/modules/system/project-config.js b/admin-web/javascript-ant-design-vue/src/store/modules/system/project-config.js new file mode 100644 index 00000000..24ab2110 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/store/modules/system/project-config.js @@ -0,0 +1,12 @@ +import {defineStore} from 'pinia'; +import {projectDefaultConfig} from "@/config/project-config"; + + +export const useProjectConfigStore = defineStore({ + id: 'projectConfig', + state: () => ({ + ...projectDefaultConfig + }), + getters: {}, + actions: {}, +}); diff --git a/admin-web/javascript-ant-design-vue/src/store/modules/system/role.js b/admin-web/javascript-ant-design-vue/src/store/modules/system/role.js new file mode 100644 index 00000000..5f1898d9 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/store/modules/system/role.js @@ -0,0 +1,94 @@ +/* + * @Author: zhuoda + * @Date: 2021-08-28 14:28:18 + * @LastEditTime: 2021-08-28 16:37:27 + * @LastEditors: zhuoda + * @Description: + * @FilePath: /smart-admin/src/store/modules/system/role.ts + */ +import _ from 'lodash'; +import { defineStore } from 'pinia'; + +export const useRoleStore = defineStore({ + id: 'role', + state: () => ({ + checkedData: [], + treeMap: new Map(), + }), + + actions: { + // 初始化权限树选中数据 + initCheckedData(data) { + this.checkedData = [...new Set(data)]; + }, + // 选中 + addCheckedData(data) { + if (this.checkedData.some((e) => e == data)) { + return; + } + this.checkedData.push(data); + }, + // 选中本级以及子级 + addCheckedDataAndChildren(data) { + let findIndex = this.checkedData.findIndex((val) => val == data.menuId); + if (data.menuId && findIndex == -1) { + this.addCheckedData(data.menuId); + } + if (data.children) { + data.children.forEach((item) => { + this.addCheckedDataAndChildren(item); + }); + } + }, + // 取消选中 + deleteCheckedData(index) { + this.checkedData.splice(index, 1); + }, + // 取消选中本级以及子级 + deleteCheckedDataAndChildren(data) { + let findIndex = this.checkedData.findIndex((val) => val == data.menuId); + if (findIndex != -1) { + this.deleteCheckedData(findIndex); + } + if (data.children) { + data.children.forEach((item) => { + this.deleteCheckedDataAndChildren(item); + }); + } + }, + // 初始化权限树对象 + initTreeMap(tree) { + for (let treeElement of tree) { + if (!treeElement.menuId) { + continue; + } + this.treeMap.set(treeElement.menuId, treeElement); + if (treeElement.children && !_.isEmpty(treeElement.children)) { + this.initTreeMap(treeElement.children); + } + } + }, + // 选中上一级 + selectUpperLevel(module) { + // 拿到上级key + let parentId = module.parentId; + if (!parentId) { + return; + } + // 从权限树对象 获取该父级对象 + let parentModule = this.treeMap.get(parentId); + if (!parentModule) { + return; + } + // 选中父级 + let parentIndex = this.checkedData.findIndex((e) => parentModule?.menuId === e); + if (parentModule.menuId && parentIndex == -1) { + this.addCheckedData(parentModule.menuId); + } + // 如果上级还有上级 则进行递归 + if (parentModule.parentId) { + this.selectUpperLevel(parentModule); + } + }, + }, +}); diff --git a/admin-web/javascript-ant-design-vue/src/store/modules/system/spin.js b/admin-web/javascript-ant-design-vue/src/store/modules/system/spin.js new file mode 100644 index 00000000..ffc1f8e9 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/store/modules/system/spin.js @@ -0,0 +1,17 @@ +import { defineStore } from 'pinia'; + +export const useSpinStore = defineStore({ + id: 'spin', + state: () => ({ + loading: false + }), + + actions: { + hide () { + this.loading = false; + }, + show () { + this.loading = true; + } + } +}); diff --git a/admin-web/javascript-ant-design-vue/src/store/modules/system/user.js b/admin-web/javascript-ant-design-vue/src/store/modules/system/user.js new file mode 100644 index 00000000..21e3802b --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/store/modules/system/user.js @@ -0,0 +1,155 @@ +import { defineStore } from 'pinia'; +import { getTokenFromCookie } from '/@/utils/cookie-util'; +import localKey from '/@/constants/system/local-storage-key'; +import { localSave, localRead } from '/@/utils/local-util'; +import _ from 'lodash'; +import { appDefaultConfig } from '/@/config/app-config'; +import { localClear } from '/@/utils/local-util'; + +export const useUserStore = defineStore({ + id: 'userStore', + state: () => ({ + token: '', + pointsList: [], + menuTree: [], + tagNav: [], + userInfo: {}, + }), + getters: { + getToken (state) { + if (state.token) { + return state.token; + } + return getTokenFromCookie(); + }, + getUserInfo (state) { + if (_.isEmpty(state.userInfo)) { + let localUserInfo = localRead(localKey.USER_INFO) || ''; + state.userInfo = localUserInfo ? JSON.parse(localUserInfo) : {}; + } + return state.userInfo; + }, + getMenuTree (state) { + if (_.isEmpty(state.menuTree)) { + let localUserMenu = localRead(localKey.USER_MENU) || ''; + state.menuTree = localUserMenu ? JSON.parse(localUserMenu) : []; + } + return state.menuTree; + }, + getPointList (state) { + if (_.isEmpty(state.pointsList)) { + let localUserPoints = localRead(localKey.USER_POINTS) || ''; + state.pointsList = localUserPoints ? JSON.parse(localUserPoints) : []; + } + return state.pointsList; + }, + getTagNav (state) { + if (_.isEmpty(state.tagNav)) { + let localTagNav = localRead(localKey.USER_TAG_NAV) || ''; + state.tagNav = localTagNav ? JSON.parse(localTagNav) : []; + } + let tagNavList = _.cloneDeep(state.tagNav) || []; + tagNavList.unshift({ + menuName: appDefaultConfig.homePageName, + menuTitle: '首页', + }); + return tagNavList; + }, + }, + + actions: { + logout () { + this.token = ''; + this.pointsList = []; + this.menuTree = []; + this.tagNav = []; + this.userInfo = {}; + localClear(); + }, + setUserSession (data) { + this.token = data.token; + this.pointsList = data.pointsList; + this.menuTree = data.menuTree; + this.userInfo = data; + this.setUserMenu(data); + localSave(localKey.USER_INFO, JSON.stringify(data)); + }, + setUserMenu (data) { + this.pointsList = []; + this.menuTree = []; + localSave(localKey.USER_MENU, JSON.stringify(data.menuTree)); + localSave(localKey.USER_POINTS, JSON.stringify(data.pointsList)); + }, + setToken (token) { + this.token = token; + }, + setTagNav (route, from) { + if (_.isEmpty(this.getTagNav)) this.tagNav = []; + // name唯一标识 + let name = route.name; + if (!name || name == appDefaultConfig.homePageName) { + return; + } + let findTag = (this.tagNav || []).find((e) => e.menuName == name); + if (findTag) { + // @ts-ignore + findTag.fromMenuName = from.name; + findTag.fromMenuQuery = from.query; + } else { + // @ts-ignore + this.tagNav.push({ + // @ts-ignore + menuName: name, + // @ts-ignore + menuTitle: route.meta.title, + menuQuery: route.query, + // @ts-ignore + fromMenuName: from.name, + fromMenuQuery: from.query, + }); + } + localSave(localKey.USER_TAG_NAV, JSON.stringify(this.tagNav)); + }, + closeTagNav (menuName, closeAll) { + if (_.isEmpty(this.getTagNav)) return; + if (closeAll && !menuName) { + this.tagNav = []; + } else { + let findIndex = (this.tagNav || []).findIndex((e) => e.menuName == menuName); + if (closeAll) { + if (findIndex == -1) { + this.tagNav = []; + } else { + let tagNavElement = (this.tagNav || [])[findIndex]; + this.tagNav = [tagNavElement]; + } + } else { + (this.tagNav || []).splice(findIndex, 1); + } + } + localSave(localKey.USER_TAG_NAV, JSON.stringify(this.tagNav)); + }, + closePage (route, router, path) { + if (!this.getTagNav || _.isEmpty(this.getTagNav)) return; + if (path) { + router.push({ path }); + } else { + // 寻找tagNav + let index = this.getTagNav.findIndex((e) => e.menuName == route.name); + if (index == -1) { + router.push({ name: appDefaultConfig.homePageName }); + } else { + let tagNav = this.getTagNav[index]; + if (tagNav.fromMenuName && this.getTagNav.some((e) => e.menuName == tagNav.fromMenuName)) { + router.push({ name: tagNav.fromMenuName, query: tagNav.fromMenuQuery }); + } else { + // 查询左侧tag + let leftTagNav = this.getTagNav[index - 1]; + router.push({ name: leftTagNav.menuName, query: leftTagNav.menuQuery }); + } + } + } + this.closeTagNav(route.name, false); + }, + }, +}); diff --git a/admin-web/javascript-ant-design-vue/src/theme/index.less b/admin-web/javascript-ant-design-vue/src/theme/index.less new file mode 100644 index 00000000..490510ec --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/theme/index.less @@ -0,0 +1,87 @@ +@import '~ant-design-vue/dist/antd.less'; +@import './smart-admin.less'; + +@gray-1: #ffffff; +@gray-2: #fafafa; +@gray-3: #f5f5f5; +@gray-4: #f0f0f0; +@gray-5: #d9d9d9; +@gray-6: #bfbfbf; +@gray-7: #8c8c8c; +@gray-8: #595959; +@gray-9: #434343; +@gray-10: #262626; +@gray-11: #1f1f1f; +@gray-12: #141414; +@gray-13: #000000; + +@title-color: @heading-color; + +@layout-bg-color: @layout-body-background; +@base-bg-color: @body-background; +@hover-bg-color: rgba(0, 0, 0, 0.025); +@border-color: @border-color-split; + +@hover-bg-color-light: @hover-bg-color; +@hover-bg-color-dark: @primary-7; +@hover-bg-color-night: rgba(255, 255, 255, 0.025); +@header-bg-color-dark: @layout-header-background; + +@header-light-bg-hover-color: #f6f6f6; +@header-height: 80px; +@header-user-height: 40px; +@page-tag-height: 40px; + +@shadow-down: @shadow-1-down; +@shadow-up: @shadow-1-up; +@shadow-left: @shadow-1-left; +@shadow-right: @shadow-1-right; + +@theme-list: light, dark, night; + +/********************************** 基础样式 **********************************/ +* { + margin: 0; + padding: 0; + box-sizing: border-box; + outline: none !important; +} + +html, +body { + margin: 0; + padding: 0; + width: 100%; + height: 100%; + -webkit-font-smoothing: antialiased; + -webkit-tap-highlight-color: transparent; + background-color: #f8f8f8; + font-size: 14px; + position: relative; +} + +#app { + width: 100%; + height: 100%; +} + +/********************************** ant design table **********************************/ +.ant-table-tbody :deep(.smart-table-striped) { + background-color: #fafafa; +} + +/********************************** ant design form **********************************/ +.ant-form-inline .ant-form-item-with-help { + margin-bottom: 0px !important; +} + +/********************************** ant design spin **********************************/ +.ant-spin-nested-loading { + width: 100%; + height: 100%; +} + +.ant-spin-container { + width: 100%; + height: 100%; +} diff --git a/admin-web/javascript-ant-design-vue/src/theme/smart-admin.less b/admin-web/javascript-ant-design-vue/src/theme/smart-admin.less new file mode 100644 index 00000000..10ac0af9 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/theme/smart-admin.less @@ -0,0 +1,84 @@ +/********************************** 滚动条 **********************************/ +.smart-scroll { + scrollbar-color: @primary-color @primary-2; + scrollbar-width: thin; + -ms-overflow-style: none; + position: relative; + &::-webkit-scrollbar { + width: 3px; + height: 1px; + } + &::-webkit-scrollbar-thumb { + border-radius: 3px; + background: @primary-color; + } + &::-webkit-scrollbar-track { + border-radius: 3px; + background: @primary-3; + } +} +/********************************** 宽度 **********************************/ +.smart-width-100 { + width: 100%; +} + +/********************************** 左间距 **********************************/ +.smart-margin-left5 { + margin-left: 5px; +} + +.smart-margin-left10 { + margin-left: 10px; +} + +.smart-margin-left15 { + margin-left: 15px; +} + +.smart-margin-left20 { + margin-left: 20px; +} + +/******************************** 上间距 ********************************/ +.smart-margin-top5 { + margin-top: 5px; +} + +.smart-margin-top10 { + margin-top: 10px; +} + +/******************************** 查询表格样式 ********************************/ +.smart-query-form { + background-color: #ffffff; + padding: 5px 10px; + margin-bottom: 10px; +} + +.smart-query-form-row:not(:first-child) { + margin-top: 8px; +} + +.smart-query-form-row .smart-query-form-item { + margin-right: 8px; + margin-top: 5px; + margin-bottom: 5px; +} + +.smart-query-table-page { + margin-top: 10px; + display: flex; + justify-content: flex-end; +} + +.smart-table-btn-block { + margin-bottom: 15px; + display: flex; + flex-direction: row; + justify-content: space-between; + .smart-table-operate-block { + .ant-btn { + margin-right: 12px; + } + } +} diff --git a/admin-web/javascript-ant-design-vue/src/utils/cookie-util.js b/admin-web/javascript-ant-design-vue/src/utils/cookie-util.js new file mode 100644 index 00000000..80cf5b5b --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/utils/cookie-util.js @@ -0,0 +1,27 @@ +/* + * @Description + * @Author: zhuoda + * @Date: 2021-08-03 + * @LastEditTime: 2021-08-27 + * @LastEditors: zhuoda + */ +import Cookies from 'js-cookie'; + +export const COOKIE_TOKEN_KEY = 'user_token'; + +export const clearAllCoolies = () => { + Cookies.remove(COOKIE_TOKEN_KEY); +}; + +export const getTokenFromCookie = () => { + return Cookies.get(COOKIE_TOKEN_KEY); +}; + +/** + * 7 天后cookie过期 + * + * @param token + */ +export const saveTokenToCookie = (token) => { + Cookies.set(COOKIE_TOKEN_KEY, token, { expires: 7 }); +}; diff --git a/admin-web/javascript-ant-design-vue/src/utils/local-util.js b/admin-web/javascript-ant-design-vue/src/utils/local-util.js new file mode 100644 index 00000000..07dbc7ac --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/utils/local-util.js @@ -0,0 +1,16 @@ +/** + * localStorage存取 + * @param key + * @param value + */ +export const localSave = (key, value) => { + localStorage.setItem(key, value); +}; + +export const localRead = (key) => { + return localStorage.getItem(key) || ''; +}; + +export const localClear = () => { + localStorage.clear(); +}; diff --git a/admin-web/javascript-ant-design-vue/src/views/business/goods/components/goods-operate-modal.vue b/admin-web/javascript-ant-design-vue/src/views/business/goods/components/goods-operate-modal.vue new file mode 100644 index 00000000..968cb23d --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/business/goods/components/goods-operate-modal.vue @@ -0,0 +1,165 @@ + + diff --git a/admin-web/javascript-ant-design-vue/src/views/business/goods/goods-list.vue b/admin-web/javascript-ant-design-vue/src/views/business/goods/goods-list.vue new file mode 100644 index 00000000..3ec19bdb --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/business/goods/goods-list.vue @@ -0,0 +1,235 @@ + + diff --git a/admin-web/javascript-ant-design-vue/src/views/business/setting/components/category-operate-modal.vue b/admin-web/javascript-ant-design-vue/src/views/business/setting/components/category-operate-modal.vue new file mode 100644 index 00000000..ec1c8337 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/business/setting/components/category-operate-modal.vue @@ -0,0 +1,114 @@ + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/business/setting/components/category-tree-table.vue b/admin-web/javascript-ant-design-vue/src/views/business/setting/components/category-tree-table.vue new file mode 100644 index 00000000..6304c2af --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/business/setting/components/category-tree-table.vue @@ -0,0 +1,146 @@ + + diff --git a/admin-web/javascript-ant-design-vue/src/views/business/setting/demo-setting.vue b/admin-web/javascript-ant-design-vue/src/views/business/setting/demo-setting.vue new file mode 100644 index 00000000..88b28afd --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/business/setting/demo-setting.vue @@ -0,0 +1,11 @@ + + diff --git a/admin-web/javascript-ant-design-vue/src/views/business/setting/goods-setting.vue b/admin-web/javascript-ant-design-vue/src/views/business/setting/goods-setting.vue new file mode 100644 index 00000000..944a1b2f --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/business/setting/goods-setting.vue @@ -0,0 +1,11 @@ + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/employee/department/components/child-department-list/index.vue b/admin-web/javascript-ant-design-vue/src/views/system/employee/department/components/child-department-list/index.vue new file mode 100644 index 00000000..0ff08bdf --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/employee/department/components/child-department-list/index.vue @@ -0,0 +1,58 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/employee/department/components/department-tree/index.vue b/admin-web/javascript-ant-design-vue/src/views/system/employee/department/components/department-tree/index.vue new file mode 100644 index 00000000..cc490d5d --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/employee/department/components/department-tree/index.vue @@ -0,0 +1,265 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/employee/department/components/employee-list/index.vue b/admin-web/javascript-ant-design-vue/src/views/system/employee/department/components/employee-list/index.vue new file mode 100644 index 00000000..c2ed839e --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/employee/department/components/employee-list/index.vue @@ -0,0 +1,305 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/employee/department/components/operate-department-modal/index.vue b/admin-web/javascript-ant-design-vue/src/views/system/employee/department/components/operate-department-modal/index.vue new file mode 100644 index 00000000..318766d6 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/employee/department/components/operate-department-modal/index.vue @@ -0,0 +1,142 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/employee/department/components/operate-employee-modal/index.vue b/admin-web/javascript-ant-design-vue/src/views/system/employee/department/components/operate-employee-modal/index.vue new file mode 100644 index 00000000..2a9b1f25 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/employee/department/components/operate-employee-modal/index.vue @@ -0,0 +1,223 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/employee/department/components/update-employee-department-modal/index.vue b/admin-web/javascript-ant-design-vue/src/views/system/employee/department/components/update-employee-department-modal/index.vue new file mode 100644 index 00000000..f45fe403 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/employee/department/components/update-employee-department-modal/index.vue @@ -0,0 +1,95 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/employee/department/department-mitt.ts b/admin-web/javascript-ant-design-vue/src/views/system/employee/department/department-mitt.ts new file mode 100644 index 00000000..5c5a8493 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/employee/department/department-mitt.ts @@ -0,0 +1,13 @@ +/* + * @Author: zhuoda + * @Date: 2021-08-13 17:55:09 + * @LastEditTime: 2021-08-13 18:01:32 + * @LastEditors: zhuoda + * @Description: eventBus + * @FilePath: /smart-admin/src/views/system/employee/department/department-mitt.ts + */ +import mitt from "mitt" +type Events = { + selectTree: number; + }; +export default mitt(); diff --git a/admin-web/javascript-ant-design-vue/src/views/system/employee/department/index.vue b/admin-web/javascript-ant-design-vue/src/views/system/employee/department/index.vue new file mode 100644 index 00000000..8fae29b7 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/employee/department/index.vue @@ -0,0 +1,73 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/operate-role-modal/index.vue b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/operate-role-modal/index.vue new file mode 100644 index 00000000..69e5b602 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/operate-role-modal/index.vue @@ -0,0 +1,115 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-data-scope/index.vue b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-data-scope/index.vue new file mode 100644 index 00000000..d59fe15f --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-data-scope/index.vue @@ -0,0 +1,147 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-employee-list/index.vue b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-employee-list/index.vue new file mode 100644 index 00000000..99e1635c --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-employee-list/index.vue @@ -0,0 +1,223 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-list/index.vue b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-list/index.vue new file mode 100644 index 00000000..cba853b5 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-list/index.vue @@ -0,0 +1,106 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-setting/index.vue b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-setting/index.vue new file mode 100644 index 00000000..558db004 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-setting/index.vue @@ -0,0 +1,50 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-tree/index.less b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-tree/index.less new file mode 100644 index 00000000..1dbad70d --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-tree/index.less @@ -0,0 +1,78 @@ +:deep(.ant-checkbox-group) { + width: 100%; +} +.tree-header { + display: flex; + align-items: center; + justify-content: space-between; + margin: 20px 0; +} +.col-desc { + margin: 20px 0; + font-size: 15px; + color: #95a5a6; + padding: 0 20px; +} +.button-style { + margin: 20px 0 20px 0; + padding-left: 20px; + text-align: right; +} +.check-right { + margin-right: 20px; +} +.row-border { + border: 1px solid #f0f0f0; +} +.col-border { + line-height: 50px; + padding-left: 20px; + border-right: 1px solid #f0f0f0; +} +.col-left { + line-height: 50px; + padding-left: 40px; + border-right: 1px solid #f0f0f0; +} +.col-right { + padding-left: 20px; + border-right: 1px solid #f0f0f0; +} +.checked-box { + padding: 0 15px; + :deep(ul li::marker) { + content: ''; + } + :deep(ul) { + padding: 0; + margin: 0; + + li { + list-style: none; + padding: 0; + margin: 10px 0; + + .menu { + border-bottom: 1px solid rgb(240, 240, 240); + display: flex; + align-items: center; + line-height: 40px; + } + + .point { + display: flex; + align-items: center; + + .point-label { + flex: 1; + padding-left: 40px; + border-left: 1px rgb(240, 240, 240) solid; + } + } + + .checked-box-label { + min-width: 150px; + } + } + } +} diff --git a/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-tree/index.vue b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-tree/index.vue new file mode 100644 index 00000000..256d7310 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-tree/index.vue @@ -0,0 +1,79 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-tree/role-tree-checkbox.vue b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-tree/role-tree-checkbox.vue new file mode 100644 index 00000000..e3d9512c --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-tree/role-tree-checkbox.vue @@ -0,0 +1,53 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-tree/role-tree-menu.vue b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-tree/role-tree-menu.vue new file mode 100644 index 00000000..36c1e940 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-tree/role-tree-menu.vue @@ -0,0 +1,70 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-tree/role-tree-point.vue b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-tree/role-tree-point.vue new file mode 100644 index 00000000..4247cba3 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/components/role-tree/role-tree-point.vue @@ -0,0 +1,42 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/employee/role/index.vue b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/index.vue new file mode 100644 index 00000000..a76f58e0 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/employee/role/index.vue @@ -0,0 +1,53 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/home/components/gauge.vue b/admin-web/javascript-ant-design-vue/src/views/system/home/components/gauge.vue new file mode 100644 index 00000000..05611aa1 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/home/components/gauge.vue @@ -0,0 +1,117 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/home/index.less b/admin-web/javascript-ant-design-vue/src/views/system/home/index.less new file mode 100644 index 00000000..a4ff1b59 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/home/index.less @@ -0,0 +1,68 @@ +:deep(.ant-col) { + margin-bottom: 24px; +} +.no-footer { + :deep(.ant-card-body) { + padding-bottom: 0; + } +} +.content { + height: 150px; + + &.large { + height: 360px; + } + + &.statistice { + display: flex; + flex-direction: column; + justify-content: space-between; + } + &.app { + display: flex; + align-items: center; + padding-bottom: 24px; + .app-qr { + display: flex; + align-items: center; + flex-direction: column; + margin-right: 40px; + > img { + height: 120px; + } + > span { + font-size: 14px; + } + } + } + + &.gauge { + display: flex; + align-items: center; + } + + &.wait-handle { + padding-bottom: 24px; + overflow-y: auto; + >p { + font-size: 18px; + } + :deep(.ant-tag){ + padding: 1px 8px; + font-size: 15px; + } + } + + .count { + font-size: 30px; + font-weight: 700; + margin-bottom: 10px; + } +} +.footer { + width: 100%; + border-top: 1px solid #e9e9e9; + padding: 10px 0; + background: #fff; + z-index: 1; +} diff --git a/admin-web/javascript-ant-design-vue/src/views/system/home/index.vue b/admin-web/javascript-ant-design-vue/src/views/system/home/index.vue new file mode 100644 index 00000000..36989abb --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/home/index.vue @@ -0,0 +1,250 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/login/login.less b/admin-web/javascript-ant-design-vue/src/views/system/login/login.less new file mode 100644 index 00000000..f071d84e --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/login/login.less @@ -0,0 +1,152 @@ +.login-container { + width: 100%; + height: 100%; + background: url(/images/login-bg.png) no-repeat center; + background-size: cover; + + .logo-box { + margin: auto; + width: 60%; + .logo { + width: 180px; + height: 40px; + align-self: start; + margin-top: 54px; + } + } + + .login-box { + display: flex; + align-items: center; + justify-content: space-between; + margin: auto; + width: 60%; + height: calc(100% - 94px); + } + + .box-item { + &.login { + background: #ffffff; + border-radius: 6px; + padding: 60px 42px; + position: relative; + width: 434px; + height: 540px; + box-shadow: 0px 8px 16px 2px rgba(15, 65, 249, 0.04); + } + .login-qr { + position: absolute; + top: 0; + right: 0; + width: 66px; + height: 66px; + } + .welcome { + margin-top: 44px; + font-size: 42px; + font-weight: bold; + color: #ffffff; + p { + margin-bottom: 0; + } + .desc { + font-size: 14px; + font-weight: 500; + margin: 5px 0 0; + } + } + .login-person { + .img-box { + width: 312px; + height: 312px; + text-align: center; + line-height: 312px; + > img { + width: 290px; + height: 257px; + opacity: 1; + } + } + + .qr-desc { + margin-top: 3px; + font-size: 14px; + text-align: center; + color: #ffffff; + opacity: 0.3; + } + } + .login-title { + font-size: 30px; + font-weight: 700; + text-align: center; + color: #1e1e1e; + } + .login-form { + margin-top: 37px; + } + .ant-input, + .ant-input-affix-wrapper { + height: 44px; + border: 1px solid #ededed; + border-radius: 4px; + } + + .eye-box { + position: absolute; + right: 15px; + top: 10px; + .eye-icon { + width: 20px; + height: 20px; + cursor: pointer; + } + } + .btn { + width: 350px; + height: 50px; + background: #1890ff; + border-radius: 4px; + font-size: 16px; + font-weight: 700; + text-align: center; + color: #ffffff; + line-height: 50px; + cursor: pointer; + } + } + + .more { + margin-top: 50px; + .title-box { + display: flex; + align-items: center; + justify-content: center; + > p { + margin-bottom: 0; + } + } + .line { + width: 114px; + height: 1px; + background: #e6e6e6; + } + .title { + font-size: 14px; + font-weight: 500; + color: #a1aebe; + margin: 0 19px; + } + .login-type { + padding: 0 50px; + margin-top: 25px; + display: flex; + align-items: center; + justify-content: space-between; + > img { + width: 22px; + height: 22px; + } + } + } +} diff --git a/admin-web/javascript-ant-design-vue/src/views/system/login/login.vue b/admin-web/javascript-ant-design-vue/src/views/system/login/login.vue new file mode 100644 index 00000000..87d42de9 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/login/login.vue @@ -0,0 +1,127 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/menu/components/menu-operate-modal.vue b/admin-web/javascript-ant-design-vue/src/views/system/menu/components/menu-operate-modal.vue new file mode 100644 index 00000000..d0278a41 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/menu/components/menu-operate-modal.vue @@ -0,0 +1,274 @@ + + + + diff --git a/admin-web/javascript-ant-design-vue/src/views/system/menu/components/menu-tree-select.vue b/admin-web/javascript-ant-design-vue/src/views/system/menu/components/menu-tree-select.vue new file mode 100644 index 00000000..9438f7fe --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/menu/components/menu-tree-select.vue @@ -0,0 +1,71 @@ + + + diff --git a/admin-web/typescript-ant-design-vue/src/views/system/menu/menu-list-table-columns.ts b/admin-web/javascript-ant-design-vue/src/views/system/menu/menu-list-table-columns.js similarity index 100% rename from admin-web/typescript-ant-design-vue/src/views/system/menu/menu-list-table-columns.ts rename to admin-web/javascript-ant-design-vue/src/views/system/menu/menu-list-table-columns.js diff --git a/admin-web/javascript-ant-design-vue/src/views/system/menu/menu-list.vue b/admin-web/javascript-ant-design-vue/src/views/system/menu/menu-list.vue new file mode 100644 index 00000000..552aaada --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/views/system/menu/menu-list.vue @@ -0,0 +1,384 @@ + + diff --git a/admin-web/javascript-ant-design-vue/src/vite-env.d.ts b/admin-web/javascript-ant-design-vue/src/vite-env.d.ts new file mode 100644 index 00000000..11f02fe2 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/admin-web/javascript-ant-design-vue/vite.config.js b/admin-web/javascript-ant-design-vue/vite.config.js new file mode 100644 index 00000000..66be1f95 --- /dev/null +++ b/admin-web/javascript-ant-design-vue/vite.config.js @@ -0,0 +1,75 @@ +/* + * @Description: vite配置 + * @Author: zhuoda + * @Date: 2021-08-03 + * @LastEditTime: 2021-11-02 22:48:22 + * @LastEditors: lidoudou + */ +import { resolve } from 'path'; +import vue from '@vitejs/plugin-vue'; + +const pathResolve = (dir) => { + return resolve(__dirname, '.', dir); +}; + +export default { + base: process.env.NODE_ENV === 'production' ? '/manages/' : '/', + root: process.cwd(), + resolve: { + alias: [ + // 国际化替换 + { + find: 'vue-i18n', + replacement: 'vue-i18n/dist/vue-i18n.cjs.js', + }, + // 绝对路径重命名:/@/xxxx => src/xxxx + { + find: /\/@\//, + replacement: pathResolve('src') + '/', + }, + // // 绝对路径重命名:@/xxxx => src/xxxx + { + find: /@\//, + replacement: pathResolve('src') + '/', + }, + { + find: /^~/, + replacement: '', + }, + ], + }, + // 服务端渲染 + server: { + host: '0.0.0.0', + port: 8081, + }, + plugins: [vue()], + optimizeDeps: { + include: ['ant-design-vue/es/locale/zh_CN', 'moment/dist/locale/zh-cn', 'ant-design-vue/es/locale/en_US', 'moment/dist/locale/eu'], + exclude: ['vue-demi'], + }, + build: { + terserOptions: { + compress: { + keep_infinity: true, + drop_console: true, + }, + }, + brotliSize: false, + chunkSizeWarningLimit: 2000, + }, + css: { + preprocessorOptions: { + less: { + modifyVars: { + hack: `true; @import (reference) "${resolve('/@/theme/index.less')}";`, + }, + javascriptEnabled: true, + }, + }, + }, + define: { + __INTLIFY_PROD_DEVTOOLS__: false, + 'process.env': process.env, + }, +};