diff --git a/.eslintrc.js b/.eslintrc.js
index bbda6e9..cebe49c 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -7,19 +7,12 @@ module.exports = {
],
extends: [
'plugin:vue/essential',
- '@vue/airbnb',
+ 'eslint:recommended',
'@vue/typescript',
],
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
-
- 'import/prefer-default-export': 'off',
- 'no-restricted-syntax': 'off',
- 'no-await-in-loop': 'off',
- 'no-plusplus': 'off',
- 'no-continue': 'off',
- 'func-names': ['warn', 'as-needed'],
},
parserOptions: {
parser: '@typescript-eslint/parser',
diff --git a/package-lock.json b/package-lock.json
index 18a9505..b15815d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1550,6 +1550,11 @@
"integrity": "sha1-xOY69eiCPOnMPws097mYwhcfDEQ=",
"dev": true
},
+ "@types/node-polyglot": {
+ "version": "0.4.34",
+ "resolved": "https://registry.npm.taobao.org/@types/node-polyglot/download/@types/node-polyglot-0.4.34.tgz",
+ "integrity": "sha1-VxjKS4lEbSOAh1NNLLqeOC8ZxYs="
+ },
"@types/normalize-package-data": {
"version": "2.4.0",
"resolved": "https://registry.npm.taobao.org/@types/normalize-package-data/download/@types/normalize-package-data-2.4.0.tgz",
@@ -2327,17 +2332,6 @@
"tslib": "^1.9.3"
}
},
- "@vue/eslint-config-airbnb": {
- "version": "4.0.1",
- "resolved": "https://registry.npm.taobao.org/@vue/eslint-config-airbnb/download/@vue/eslint-config-airbnb-4.0.1.tgz",
- "integrity": "sha1-vwUQiFGosE3AQ6mDMAYIUp1QzH4=",
- "dev": true,
- "requires": {
- "eslint-config-airbnb-base": "^13.1.0",
- "eslint-import-resolver-webpack": "^0.11.1",
- "eslint-plugin-import": "^2.17.3"
- }
- },
"@vue/eslint-config-typescript": {
"version": "4.0.0",
"resolved": "https://registry.npm.taobao.org/@vue/eslint-config-typescript/download/@vue/eslint-config-typescript-4.0.0.tgz",
@@ -2772,28 +2766,12 @@
"integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
"dev": true
},
- "array-find": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/array-find/download/array-find-1.0.0.tgz",
- "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=",
- "dev": true
- },
"array-flatten": {
"version": "1.1.1",
"resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz",
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
"dev": true
},
- "array-includes": {
- "version": "3.0.3",
- "resolved": "https://registry.npm.taobao.org/array-includes/download/array-includes-3.0.3.tgz",
- "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.2",
- "es-abstract": "^1.7.0"
- }
- },
"array-union": {
"version": "1.0.2",
"resolved": "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz",
@@ -4534,12 +4512,6 @@
"proto-list": "~1.2.1"
}
},
- "confusing-browser-globals": {
- "version": "1.0.8",
- "resolved": "https://registry.npm.taobao.org/confusing-browser-globals/download/confusing-browser-globals-1.0.8.tgz",
- "integrity": "sha1-k//sH4Km4r8rw2dpzDqS+iDlAvM=",
- "dev": true
- },
"connect-history-api-fallback": {
"version": "1.6.0",
"resolved": "https://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz",
@@ -4570,12 +4542,6 @@
"integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
"dev": true
},
- "contains-path": {
- "version": "0.1.0",
- "resolved": "https://registry.npm.taobao.org/contains-path/download/contains-path-0.1.0.tgz",
- "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
- "dev": true
- },
"content-disposition": {
"version": "0.5.3",
"resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz",
@@ -5325,7 +5291,6 @@
"version": "1.1.3",
"resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz",
"integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=",
- "dev": true,
"requires": {
"object-keys": "^1.0.12"
}
@@ -6051,96 +6016,6 @@
}
}
},
- "eslint-config-airbnb-base": {
- "version": "13.2.0",
- "resolved": "https://registry.npm.taobao.org/eslint-config-airbnb-base/download/eslint-config-airbnb-base-13.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-config-airbnb-base%2Fdownload%2Feslint-config-airbnb-base-13.2.0.tgz",
- "integrity": "sha1-9uqBRZ/03sLdogDDXx2PdBnVeUM=",
- "dev": true,
- "requires": {
- "confusing-browser-globals": "^1.0.5",
- "object.assign": "^4.1.0",
- "object.entries": "^1.1.0"
- }
- },
- "eslint-import-resolver-node": {
- "version": "0.3.2",
- "resolved": "https://registry.npm.taobao.org/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.2.tgz",
- "integrity": "sha1-WPFfuDm40FdsqYBBNHaqskcttmo=",
- "dev": true,
- "requires": {
- "debug": "^2.6.9",
- "resolve": "^1.5.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
- }
- },
- "eslint-import-resolver-webpack": {
- "version": "0.11.1",
- "resolved": "https://registry.npm.taobao.org/eslint-import-resolver-webpack/download/eslint-import-resolver-webpack-0.11.1.tgz",
- "integrity": "sha1-/PH9V6d19R4Y9EKRX4Xda6RdLyY=",
- "dev": true,
- "requires": {
- "array-find": "^1.0.0",
- "debug": "^2.6.8",
- "enhanced-resolve": "~0.9.0",
- "find-root": "^1.1.0",
- "has": "^1.0.1",
- "interpret": "^1.0.0",
- "lodash": "^4.17.4",
- "node-libs-browser": "^1.0.0 || ^2.0.0",
- "resolve": "^1.10.0",
- "semver": "^5.3.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "enhanced-resolve": {
- "version": "0.9.1",
- "resolved": "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-0.9.1.tgz",
- "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.2.0",
- "tapable": "^0.1.8"
- }
- },
- "memory-fs": {
- "version": "0.2.0",
- "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.2.0.tgz",
- "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=",
- "dev": true
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
- "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
- "dev": true
- },
- "tapable": {
- "version": "0.1.10",
- "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-0.1.10.tgz",
- "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=",
- "dev": true
- }
- }
- },
"eslint-loader": {
"version": "2.2.1",
"resolved": "https://registry.npm.taobao.org/eslint-loader/download/eslint-loader-2.2.1.tgz",
@@ -6154,119 +6029,6 @@
"rimraf": "^2.6.1"
}
},
- "eslint-module-utils": {
- "version": "2.4.1",
- "resolved": "https://registry.npm.taobao.org/eslint-module-utils/download/eslint-module-utils-2.4.1.tgz",
- "integrity": "sha1-e0Z1h1v5aw2/GyGXdFblux9eAYw=",
- "dev": true,
- "requires": {
- "debug": "^2.6.8",
- "pkg-dir": "^2.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "dev": true,
- "requires": {
- "locate-path": "^2.0.0"
- }
- },
- "locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz",
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
- "dev": true,
- "requires": {
- "p-locate": "^2.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "p-limit": {
- "version": "1.3.0",
- "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz",
- "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=",
- "dev": true,
- "requires": {
- "p-try": "^1.0.0"
- }
- },
- "p-locate": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz",
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
- "dev": true,
- "requires": {
- "p-limit": "^1.1.0"
- }
- },
- "p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
- "dev": true
- },
- "pkg-dir": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz",
- "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
- "dev": true,
- "requires": {
- "find-up": "^2.1.0"
- }
- }
- }
- },
- "eslint-plugin-import": {
- "version": "2.18.2",
- "resolved": "https://registry.npm.taobao.org/eslint-plugin-import/download/eslint-plugin-import-2.18.2.tgz",
- "integrity": "sha1-AvEYC5Cwd7M9RHoXojJs60AKzrY=",
- "dev": true,
- "requires": {
- "array-includes": "^3.0.3",
- "contains-path": "^0.1.0",
- "debug": "^2.6.9",
- "doctrine": "1.5.0",
- "eslint-import-resolver-node": "^0.3.2",
- "eslint-module-utils": "^2.4.0",
- "has": "^1.0.3",
- "minimatch": "^3.0.4",
- "object.values": "^1.1.0",
- "read-pkg-up": "^2.0.0",
- "resolve": "^1.11.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "doctrine": {
- "version": "1.5.0",
- "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-1.5.0.tgz",
- "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2",
- "isarray": "^1.0.0"
- }
- }
- }
- },
"eslint-plugin-vue": {
"version": "5.2.3",
"resolved": "https://registry.npm.taobao.org/eslint-plugin-vue/download/eslint-plugin-vue-5.2.3.tgz?cache=0&sync_timestamp=1561378693439&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-vue%2Fdownload%2Feslint-plugin-vue-5.2.3.tgz",
@@ -6830,12 +6592,6 @@
"pkg-dir": "^3.0.0"
}
},
- "find-root": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/find-root/download/find-root-1.1.0.tgz",
- "integrity": "sha1-q8/Iunb3CMQql7PWhbfpRQv7nOQ=",
- "dev": true
- },
"find-up": {
"version": "3.0.0",
"resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz",
@@ -6887,6 +6643,14 @@
}
}
},
+ "for-each": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npm.taobao.org/for-each/download/for-each-0.3.3.tgz",
+ "integrity": "sha1-abRH6IoKXTLD5whPPxcQA0shN24=",
+ "requires": {
+ "is-callable": "^1.1.3"
+ }
+ },
"for-in": {
"version": "1.0.2",
"resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz",
@@ -7549,8 +7313,7 @@
"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
+ "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0="
},
"functional-red-black-tree": {
"version": "1.0.1",
@@ -7711,7 +7474,6 @@
"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"
}
@@ -7742,8 +7504,7 @@
"has-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.0.tgz",
- "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
- "dev": true
+ "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q="
},
"has-value": {
"version": "1.0.0",
@@ -8345,8 +8106,7 @@
"is-callable": {
"version": "1.1.4",
"resolved": "https://registry.npm.taobao.org/is-callable/download/is-callable-1.1.4.tgz",
- "integrity": "sha1-HhrfIZ4e62hNaR+dagX/DTCiTXU=",
- "dev": true
+ "integrity": "sha1-HhrfIZ4e62hNaR+dagX/DTCiTXU="
},
"is-ci": {
"version": "1.2.1",
@@ -8394,8 +8154,7 @@
"is-date-object": {
"version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.1.tgz",
- "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
- "dev": true
+ "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY="
},
"is-descriptor": {
"version": "0.1.6",
@@ -8583,7 +8342,6 @@
"version": "1.0.2",
"resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.2.tgz",
"integrity": "sha1-oFX2rlcZLK7jKeeoYBGLSXqVDzg=",
- "dev": true,
"requires": {
"has-symbols": "^1.0.0"
}
@@ -9408,8 +9166,7 @@
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz",
- "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=",
- "dev": true
+ "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk="
},
"js-yaml": {
"version": "3.13.1",
@@ -10034,35 +9791,6 @@
"figures": "^2.0.0"
}
},
- "load-json-file": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz",
- "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "strip-bom": "^3.0.0"
- },
- "dependencies": {
- "parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "dev": true,
- "requires": {
- "error-ex": "^1.2.0"
- }
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- }
- }
- },
"loader-fs-cache": {
"version": "1.0.3",
"resolved": "https://registry.npm.taobao.org/loader-fs-cache/download/loader-fs-cache-1.0.3.tgz?cache=0&sync_timestamp=1584820647539&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-fs-cache%2Fdownload%2Floader-fs-cache-1.0.3.tgz",
@@ -10262,7 +9990,6 @@
"version": "1.4.0",
"resolved": "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz",
"integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=",
- "dev": true,
"requires": {
"js-tokens": "^3.0.0 || ^4.0.0"
}
@@ -10873,6 +10600,17 @@
"which": "^1.3.0"
}
},
+ "node-polyglot": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npm.taobao.org/node-polyglot/download/node-polyglot-2.4.0.tgz",
+ "integrity": "sha1-DScX7QZkDZ/0iirr6NE+Oe8DUY8=",
+ "requires": {
+ "for-each": "^0.3.3",
+ "has": "^1.0.3",
+ "string.prototype.trim": "^1.1.2",
+ "warning": "^4.0.3"
+ }
+ },
"node-releases": {
"version": "1.1.52",
"resolved": "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.52.tgz?cache=0&sync_timestamp=1584043111478&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.52.tgz",
@@ -11026,8 +10764,7 @@
"object-inspect": {
"version": "1.7.0",
"resolved": "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.7.0.tgz?cache=0&sync_timestamp=1573451929207&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.7.0.tgz",
- "integrity": "sha1-9Pa9GBrXfwBrXs5gvQtvOY/3Smc=",
- "dev": true
+ "integrity": "sha1-9Pa9GBrXfwBrXs5gvQtvOY/3Smc="
},
"object-is": {
"version": "1.0.2",
@@ -11038,8 +10775,7 @@
"object-keys": {
"version": "1.1.1",
"resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz",
- "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=",
- "dev": true
+ "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4="
},
"object-visit": {
"version": "1.0.1",
@@ -11054,7 +10790,6 @@
"version": "4.1.0",
"resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.0.tgz",
"integrity": "sha1-lovxEA15Vrs8oIbwBvhGs7xACNo=",
- "dev": true,
"requires": {
"define-properties": "^1.1.2",
"function-bind": "^1.1.1",
@@ -11062,18 +10797,6 @@
"object-keys": "^1.0.11"
}
},
- "object.entries": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/object.entries/download/object.entries-1.1.0.tgz",
- "integrity": "sha1-ICT8bWuiRq7ji9sP/Vz7zzcbdRk=",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.12.0",
- "function-bind": "^1.1.1",
- "has": "^1.0.3"
- }
- },
"object.getownpropertydescriptors": {
"version": "2.1.0",
"resolved": "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.getownpropertydescriptors%2Fdownload%2Fobject.getownpropertydescriptors-2.1.0.tgz",
@@ -12549,87 +12272,6 @@
}
}
},
- "read-pkg-up": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz",
- "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
- "dev": true,
- "requires": {
- "find-up": "^2.0.0",
- "read-pkg": "^2.0.0"
- },
- "dependencies": {
- "find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "dev": true,
- "requires": {
- "locate-path": "^2.0.0"
- }
- },
- "locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz",
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
- "dev": true,
- "requires": {
- "p-locate": "^2.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "p-limit": {
- "version": "1.3.0",
- "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz",
- "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=",
- "dev": true,
- "requires": {
- "p-try": "^1.0.0"
- }
- },
- "p-locate": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz",
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
- "dev": true,
- "requires": {
- "p-limit": "^1.1.0"
- }
- },
- "p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
- "dev": true
- },
- "path-type": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz",
- "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
- "dev": true,
- "requires": {
- "pify": "^2.0.0"
- }
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- },
- "read-pkg": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-pkg-2.0.0.tgz",
- "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
- "dev": true,
- "requires": {
- "load-json-file": "^2.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^2.0.0"
- }
- }
- }
- },
"readable-stream": {
"version": "2.3.6",
"resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz",
@@ -14002,11 +13644,68 @@
}
}
},
+ "string.prototype.trim": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npm.taobao.org/string.prototype.trim/download/string.prototype.trim-1.2.1.tgz",
+ "integrity": "sha1-FBIz3/Msgr+tgGhNfl8Iae4Pt4I=",
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.0-next.1",
+ "function-bind": "^1.1.1"
+ },
+ "dependencies": {
+ "es-abstract": {
+ "version": "1.17.5",
+ "resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.17.5.tgz?cache=0&sync_timestamp=1584909155190&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.17.5.tgz",
+ "integrity": "sha1-2MnR1myJgfuSAOIlHXme7pJ3Suk=",
+ "requires": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.5",
+ "is-regex": "^1.0.5",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.0",
+ "string.prototype.trimleft": "^2.1.1",
+ "string.prototype.trimright": "^2.1.1"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=",
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz?cache=0&sync_timestamp=1573950844856&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-symbols%2Fdownload%2Fhas-symbols-1.0.1.tgz",
+ "integrity": "sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg="
+ },
+ "is-callable": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npm.taobao.org/is-callable/download/is-callable-1.1.5.tgz",
+ "integrity": "sha1-9+RrWWiQRW23Tn9ul2yzJz0G+qs="
+ },
+ "is-regex": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npm.taobao.org/is-regex/download/is-regex-1.0.5.tgz?cache=0&sync_timestamp=1576454688491&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-regex%2Fdownload%2Fis-regex-1.0.5.tgz",
+ "integrity": "sha1-OdWJo1i/GJZ/cmlnEguPwa7XTq4=",
+ "requires": {
+ "has": "^1.0.3"
+ }
+ }
+ }
+ },
"string.prototype.trimleft": {
"version": "2.1.1",
"resolved": "https://registry.npm.taobao.org/string.prototype.trimleft/download/string.prototype.trimleft-2.1.1.tgz",
"integrity": "sha1-m9uKxqvW1gKxek7TIYcNL43O/HQ=",
- "dev": true,
"requires": {
"define-properties": "^1.1.3",
"function-bind": "^1.1.1"
@@ -14016,7 +13715,6 @@
"version": "2.1.1",
"resolved": "https://registry.npm.taobao.org/string.prototype.trimright/download/string.prototype.trimright-2.1.1.tgz?cache=0&sync_timestamp=1576706898686&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimright%2Fdownload%2Fstring.prototype.trimright-2.1.1.tgz",
"integrity": "sha1-RAMUsVmWyGbOigNBiU1FGGIAxdk=",
- "dev": true,
"requires": {
"define-properties": "^1.1.3",
"function-bind": "^1.1.1"
@@ -15206,6 +14904,14 @@
"makeerror": "1.0.x"
}
},
+ "warning": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npm.taobao.org/warning/download/warning-4.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwarning%2Fdownload%2Fwarning-4.0.3.tgz",
+ "integrity": "sha1-Fungd+uKhtavfWSqHgX9hbRnjKM=",
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ },
"watchpack": {
"version": "1.6.0",
"resolved": "https://registry.npm.taobao.org/watchpack/download/watchpack-1.6.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwatchpack%2Fdownload%2Fwatchpack-1.6.0.tgz",
diff --git a/package.json b/package.json
index 5a04591..f4873f2 100644
--- a/package.json
+++ b/package.json
@@ -10,11 +10,13 @@
},
"dependencies": {
"@mdi/font": "^3.6.95",
+ "@types/node-polyglot": "^0.4.34",
"@vue/composition-api": "^0.5.0",
"axios": "^0.19.2",
"core-js": "^3.6.4",
"dayjs": "^1.8.23",
"lodash": "^4.17.15",
+ "node-polyglot": "^2.4.0",
"roboto-fontface": "*",
"vue": "^2.6.11",
"vue-router": "^3.1.6",
@@ -31,7 +33,6 @@
"@vue/cli-plugin-unit-jest": "^4.2.3",
"@vue/cli-plugin-vuex": "^4.2.3",
"@vue/cli-service": "^4.2.3",
- "@vue/eslint-config-airbnb": "^4.0.0",
"@vue/eslint-config-typescript": "^4.0.0",
"@vue/test-utils": "1.0.0-beta.29",
"eslint": "^5.16.0",
diff --git a/src/components/AddForm.vue b/src/components/AddForm.vue
index 07d65c0..f3b22d7 100644
--- a/src/components/AddForm.vue
+++ b/src/components/AddForm.vue
@@ -23,7 +23,7 @@
class="headline grey lighten-4"
>
mdi-link-plus
- Add Torrents
+ {{ $t('title.add_torrents') }}
@@ -86,14 +86,14 @@
@@ -101,7 +101,7 @@
@@ -126,9 +126,9 @@
/>
-
+
- Cancel
+ {{ $t('cancel') }}
- Submit
+ {{ $t('submit') }}
@@ -148,6 +148,8 @@
import _ from 'lodash';
import Vue from 'vue';
import { mapState } from 'vuex';
+
+import { tr } from '@/locale';
import api from '../Api';
const defaultParams = {
@@ -160,10 +162,21 @@ const defaultParams = {
firstLastPiecePrio: false,
};
-export default Vue.extend({
- data() {
+interface Data {
+ tr: any,
+ dialog: boolean,
+ valid: boolean,
+ files: any[],
+ userParams: any,
+ error: string | null,
+ submitting: boolean,
+ showMore: boolean,
+}
+
+export default {
+ data(): Data {
return {
- placeholder: 'Upload torrents by drop them here,\nor click attachment button at right to select.',
+ tr,
dialog: false,
valid: false,
files: [],
@@ -180,7 +193,7 @@ export default Vue.extend({
}),
...mapState({
categories(state, getters) {
- return getters.allCategories.map(c => ({ text: c.name, value: c.key }));
+ return getters.allCategories.map((c: any) => ({ text: c.name, value: c.key }));
},
}),
params() {
@@ -289,7 +302,7 @@ export default Vue.extend({
this.$refs.form.validate();
},
},
-});
+};