diff --git a/package-lock.json b/package-lock.json
index 1ac8d615..bd282b72 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -907,7 +907,7 @@
},
"alphanum-sort": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
+ "resolved": "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz",
"integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
"dev": true
},
@@ -1167,12 +1167,12 @@
},
"arr-union": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "resolved": "https://registry.nlark.com/arr-union/download/arr-union-3.1.0.tgz",
"integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
},
"array-equal": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
+ "resolved": "https://registry.nlark.com/array-equal/download/array-equal-1.0.0.tgz",
"integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM="
},
"array-find-index": {
@@ -1204,7 +1204,7 @@
},
"array-union": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+ "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz?cache=0&sync_timestamp=1614624262896&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-union%2Fdownload%2Farray-union-1.0.2.tgz",
"integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
"requires": {
"array-uniq": "^1.0.1"
@@ -1212,7 +1212,7 @@
},
"array-uniq": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+ "resolved": "https://registry.nlark.com/array-uniq/download/array-uniq-1.0.3.tgz",
"integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY="
},
"array-unique": {
@@ -1227,7 +1227,7 @@
},
"asap": {
"version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "resolved": "https://registry.nlark.com/asap/download/asap-2.0.6.tgz",
"integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
},
"asn1": {
@@ -1270,13 +1270,13 @@
"dependencies": {
"inherits": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+ "resolved": "https://registry.nlark.com/inherits/download/inherits-2.0.1.tgz",
"integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
"dev": true
},
"util": {
"version": "0.10.3",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "resolved": "https://registry.nlark.com/util/download/util-0.10.3.tgz",
"integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
"dev": true,
"requires": {
@@ -1287,12 +1287,12 @@
},
"assert-plus": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
"assign-symbols": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz",
"integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
},
"ast-types-flow": {
@@ -1331,7 +1331,7 @@
},
"asynckit": {
"version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"atob": {
@@ -1354,7 +1354,7 @@
},
"aws-sign2": {
"version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "resolved": "https://registry.nlark.com/aws-sign2/download/aws-sign2-0.7.0.tgz",
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
},
"aws4": {
@@ -1364,7 +1364,7 @@
},
"axios": {
"version": "0.24.0",
- "resolved": "http://173.15.15.82:8081/repository/npm-all/axios/-/axios-0.24.0.tgz",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz",
"integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==",
"requires": {
"follow-redirects": "^1.14.4"
@@ -2185,7 +2185,7 @@
},
"babel-plugin-transform-runtime": {
"version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-runtime/download/babel-plugin-transform-runtime-6.23.0.tgz",
"integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=",
"requires": {
"babel-runtime": "^6.22.0"
@@ -2304,7 +2304,7 @@
},
"babel-preset-react": {
"version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz",
+ "resolved": "https://registry.npm.taobao.org/babel-preset-react/download/babel-preset-react-6.24.1.tgz",
"integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=",
"requires": {
"babel-plugin-syntax-jsx": "^6.3.13",
@@ -2376,7 +2376,7 @@
},
"babel-runtime": {
"version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz",
"integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
"requires": {
"core-js": "^2.4.0",
@@ -2458,7 +2458,7 @@
"dependencies": {
"define-property": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "resolved": "https://registry.nlark.com/define-property/download/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"requires": {
"is-descriptor": "^1.0.0"
@@ -2521,7 +2521,7 @@
},
"bcrypt-pbkdf": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
"requires": {
"tweetnacl": "^0.14.3"
@@ -2676,7 +2676,7 @@
},
"boolbase": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "resolved": "https://registry.nlark.com/boolbase/download/boolbase-1.0.0.tgz",
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
},
"boxen": {
@@ -2736,7 +2736,7 @@
},
"brorand": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz",
"integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
"dev": true
},
@@ -2755,7 +2755,7 @@
"dependencies": {
"resolve": {
"version": "1.1.7",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.1.7.tgz",
"integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs="
}
}
@@ -2892,7 +2892,7 @@
},
"buffer-xor": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
+ "resolved": "https://registry.nlark.com/buffer-xor/download/buffer-xor-1.0.3.tgz",
"integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
"dev": true
},
@@ -2903,7 +2903,7 @@
},
"builtin-status-codes": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
+ "resolved": "https://registry.nlark.com/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz",
"integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
"dev": true
},
@@ -2983,12 +2983,12 @@
},
"call-me-maybe": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
+ "resolved": "https://registry.nlark.com/call-me-maybe/download/call-me-maybe-1.0.1.tgz",
"integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms="
},
"caller-callsite": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
+ "resolved": "https://registry.npmmirror.com/caller-callsite/download/caller-callsite-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcaller-callsite%2Fdownload%2Fcaller-callsite-2.0.0.tgz",
"integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
"dev": true,
"requires": {
@@ -3048,7 +3048,7 @@
},
"camelize": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/camelize/download/camelize-1.0.0.tgz",
"integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs="
},
"caniuse-api": {
@@ -3095,7 +3095,7 @@
},
"caseless": {
"version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "resolved": "https://registry.nlark.com/caseless/download/caseless-0.12.0.tgz",
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
},
"center-align": {
@@ -3143,7 +3143,7 @@
},
"charenc": {
"version": "0.0.2",
- "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
+ "resolved": "https://registry.npm.taobao.org/charenc/download/charenc-0.0.2.tgz",
"integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc="
},
"check-types": {
@@ -3535,7 +3535,7 @@
"dependencies": {
"define-property": {
"version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"requires": {
"is-descriptor": "^0.1.0"
@@ -3607,7 +3607,7 @@
},
"clone": {
"version": "2.1.2",
- "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "resolved": "https://registry.nlark.com/clone/download/clone-2.1.2.tgz",
"integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18="
},
"clone-deep": {
@@ -3634,7 +3634,7 @@
},
"co": {
"version": "4.6.0",
- "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "resolved": "https://registry.nlark.com/co/download/co-4.6.0.tgz",
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
},
"coa": {
@@ -3668,7 +3668,7 @@
},
"code-prettify": {
"version": "0.1.0",
- "resolved": "https://registry.npmjs.org/code-prettify/-/code-prettify-0.1.0.tgz",
+ "resolved": "https://registry.nlark.com/code-prettify/download/code-prettify-0.1.0.tgz",
"integrity": "sha1-RocMyMGlDQm61TmzOpg9vUqjSx4="
},
"codemirror": {
@@ -3678,7 +3678,7 @@
},
"collection-visit": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz",
"integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
"requires": {
"map-visit": "^1.0.0",
@@ -3705,7 +3705,7 @@
},
"color-name": {
"version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz",
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
},
"color-string": {
@@ -3739,12 +3739,12 @@
},
"commondir": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+ "resolved": "https://registry.nlark.com/commondir/download/commondir-1.0.1.tgz",
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
},
"component-classes": {
"version": "1.2.6",
- "resolved": "https://registry.npmjs.org/component-classes/-/component-classes-1.2.6.tgz",
+ "resolved": "https://registry.npm.taobao.org/component-classes/download/component-classes-1.2.6.tgz",
"integrity": "sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE=",
"requires": {
"component-indexof": "0.0.3"
@@ -3757,7 +3757,7 @@
},
"component-indexof": {
"version": "0.0.3",
- "resolved": "https://registry.npmjs.org/component-indexof/-/component-indexof-0.0.3.tgz",
+ "resolved": "https://registry.npm.taobao.org/component-indexof/download/component-indexof-0.0.3.tgz",
"integrity": "sha1-EdCRMSI5648yyPJa6csAL/6NPCQ="
},
"compressible": {
@@ -3816,7 +3816,7 @@
},
"concat-map": {
"version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
"concat-stream": {
@@ -3877,7 +3877,7 @@
},
"constants-browserify": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+ "resolved": "https://registry.nlark.com/constants-browserify/download/constants-browserify-1.0.0.tgz",
"integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
"dev": true
},
@@ -3924,7 +3924,7 @@
},
"cookie-signature": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "resolved": "https://registry.nlark.com/cookie-signature/download/cookie-signature-1.0.6.tgz",
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
"copy-anything": {
@@ -3952,7 +3952,7 @@
},
"copy-descriptor": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "resolved": "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz",
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
},
"copy-to-clipboard": {
@@ -3975,7 +3975,7 @@
},
"core-util-is": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "resolved": "https://registry.nlark.com/core-util-is/download/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"cosmiconfig": {
@@ -4066,7 +4066,7 @@
},
"cross-env": {
"version": "5.2.1",
- "resolved": "http://173.15.15.82:8081/repository/npm-all/cross-env/-/cross-env-5.2.1.tgz",
+ "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz",
"integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==",
"dev": true,
"requires": {
@@ -4075,7 +4075,7 @@
"dependencies": {
"cross-spawn": {
"version": "6.0.5",
- "resolved": "http://173.15.15.82:8081/repository/npm-all/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
"dev": true,
"requires": {
@@ -4126,7 +4126,7 @@
},
"cross-port-killer": {
"version": "1.4.0",
- "resolved": "http://173.15.15.82:8081/repository/npm-all/cross-port-killer/-/cross-port-killer-1.4.0.tgz",
+ "resolved": "https://registry.npmjs.org/cross-port-killer/-/cross-port-killer-1.4.0.tgz",
"integrity": "sha512-ujqfftKsSeorFMVI6JP25xMBixHEaDWVK+NarRZAGnJjR5AhebRQU+g+k/Lj8OHwM6f+wrrs8u5kkCdI7RLtxQ=="
},
"cross-spawn": {
@@ -4141,7 +4141,7 @@
},
"crypt": {
"version": "0.0.2",
- "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
+ "resolved": "https://registry.npm.taobao.org/crypt/download/crypt-0.0.2.tgz",
"integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs="
},
"crypto-browserify": {
@@ -4192,7 +4192,7 @@
},
"css-color-names": {
"version": "0.0.4",
- "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
+ "resolved": "https://registry.nlark.com/css-color-names/download/css-color-names-0.0.4.tgz?cache=0&sync_timestamp=1618846942982&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-color-names%2Fdownload%2Fcss-color-names-0.0.4.tgz",
"integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
"dev": true
},
@@ -4548,13 +4548,13 @@
},
"cssnano-util-get-arguments": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz",
"integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=",
"dev": true
},
"cssnano-util-get-match": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz",
+ "resolved": "https://registry.nlark.com/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz",
"integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=",
"dev": true
},
@@ -4672,7 +4672,7 @@
},
"cyclist": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
+ "resolved": "https://registry.nlark.com/cyclist/download/cyclist-1.0.1.tgz",
"integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
"dev": true
},
@@ -4729,7 +4729,7 @@
},
"dashdash": {
"version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz?cache=0&sync_timestamp=1601073647826&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdashdash%2Fdownload%2Fdashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"requires": {
"assert-plus": "^1.0.0"
@@ -4790,7 +4790,7 @@
},
"decamelize": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "resolved": "https://registry.npmmirror.com/decamelize/download/decamelize-1.2.0.tgz?cache=0&sync_timestamp=1633055760479&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz",
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
},
"decimal.js": {
@@ -4800,7 +4800,7 @@
},
"decode-uri-component": {
"version": "0.2.0",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "resolved": "https://registry.nlark.com/decode-uri-component/download/decode-uri-component-0.2.0.tgz",
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
},
"deep-equal": {
@@ -4975,7 +4975,7 @@
},
"delayed-stream": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "resolved": "https://registry.nlark.com/delayed-stream/download/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
},
"delegate": {
@@ -4991,7 +4991,7 @@
},
"depd": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "resolved": "https://registry.nlark.com/depd/download/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
},
"des.js": {
@@ -5006,7 +5006,7 @@
},
"destroy": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "resolved": "https://registry.nlark.com/destroy/download/destroy-1.0.4.tgz",
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
},
"detect-file": {
@@ -5131,7 +5131,7 @@
},
"dom-closest": {
"version": "0.2.0",
- "resolved": "https://registry.npmjs.org/dom-closest/-/dom-closest-0.2.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/dom-closest/download/dom-closest-0.2.0.tgz",
"integrity": "sha1-69n5HRvyLo1vR3h2u80+yQIWwM8=",
"requires": {
"dom-matches": ">=1.0.1"
@@ -5175,7 +5175,7 @@
},
"dom-matches": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/dom-matches/-/dom-matches-2.0.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/dom-matches/download/dom-matches-2.0.0.tgz",
"integrity": "sha1-0nKLQWqHUzmA6wibhI0lPPI6dYw="
},
"dom-scroll-into-view": {
@@ -5307,7 +5307,7 @@
},
"duplexer3": {
"version": "0.1.4",
- "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
+ "resolved": "https://registry.npmmirror.com/duplexer3/download/duplexer3-0.1.4.tgz",
"integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI="
},
"duplexify": {
@@ -5324,7 +5324,7 @@
},
"ecc-jsbn": {
"version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "resolved": "https://registry.nlark.com/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz",
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
"requires": {
"jsbn": "~0.1.0",
@@ -5351,7 +5351,7 @@
},
"ee-first": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"ejs": {
@@ -5405,7 +5405,7 @@
},
"encodeurl": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "resolved": "https://registry.nlark.com/encodeurl/download/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
},
"encoding": {
@@ -5436,7 +5436,7 @@
},
"enquire.js": {
"version": "2.1.6",
- "resolved": "https://registry.npmjs.org/enquire.js/-/enquire.js-2.1.6.tgz",
+ "resolved": "https://registry.npm.taobao.org/enquire.js/download/enquire.js-2.1.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fenquire.js%2Fdownload%2Fenquire.js-2.1.6.tgz",
"integrity": "sha1-PoeAybi4NQhMP2DhZtvDwqPImBQ="
},
"entities": {
@@ -5507,12 +5507,12 @@
},
"escape-html": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz",
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
},
"escape-string-regexp": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "resolved": "https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
},
"escodegen": {
@@ -5974,7 +5974,7 @@
},
"etag": {
"version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "resolved": "https://registry.nlark.com/etag/download/etag-1.8.1.tgz",
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
},
"eventemitter3": {
@@ -5984,7 +5984,7 @@
},
"eventlistener": {
"version": "0.0.1",
- "resolved": "https://registry.npmjs.org/eventlistener/-/eventlistener-0.0.1.tgz",
+ "resolved": "https://registry.npm.taobao.org/eventlistener/download/eventlistener-0.0.1.tgz",
"integrity": "sha1-7Suqu4UiJ68rz4iRUscsY8pTLrg="
},
"events": {
@@ -6114,7 +6114,7 @@
},
"path-to-regexp": {
"version": "0.1.7",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "resolved": "https://registry.nlark.com/path-to-regexp/download/path-to-regexp-0.1.7.tgz?cache=0&sync_timestamp=1618847046445&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-0.1.7.tgz",
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
},
"qs": {
@@ -6131,7 +6131,7 @@
},
"extend-shallow": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-3.0.2.tgz",
"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
"requires": {
"assign-symbols": "^1.0.0",
@@ -6178,7 +6178,7 @@
},
"extsprintf": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "resolved": "https://registry.npmmirror.com/extsprintf/download/extsprintf-1.3.0.tgz?cache=0&sync_timestamp=1635889707944&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fextsprintf%2Fdownload%2Fextsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
},
"fast-deep-equal": {
@@ -6506,7 +6506,7 @@
},
"fast-levenshtein": {
"version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "resolved": "https://registry.nlark.com/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz",
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
},
"faye-websocket": {
@@ -6582,7 +6582,7 @@
"dependencies": {
"core-js": {
"version": "1.2.7",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
+ "resolved": "https://registry.npmmirror.com/core-js/download/core-js-1.2.7.tgz",
"integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
},
"promise": {
@@ -6614,7 +6614,7 @@
},
"figures": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
+ "resolved": "https://registry.nlark.com/figures/download/figures-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffigures%2Fdownload%2Ffigures-2.0.0.tgz",
"integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
"requires": {
"escape-string-regexp": "^1.0.5"
@@ -7136,12 +7136,12 @@
},
"for-in": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "resolved": "https://registry.nlark.com/for-in/download/for-in-1.0.2.tgz",
"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
},
"for-own": {
"version": "0.1.5",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+ "resolved": "https://registry.nlark.com/for-own/download/for-own-0.1.5.tgz",
"integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
"requires": {
"for-in": "^1.0.1"
@@ -7149,7 +7149,7 @@
},
"forever-agent": {
"version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "resolved": "https://registry.nlark.com/forever-agent/download/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
},
"fork-ts-checker-webpack-plugin": {
@@ -7457,7 +7457,7 @@
},
"fragment-cache": {
"version": "0.2.1",
- "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "resolved": "https://registry.nlark.com/fragment-cache/download/fragment-cache-0.2.1.tgz",
"integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
"requires": {
"map-cache": "^0.2.2"
@@ -7465,12 +7465,12 @@
},
"fresh": {
"version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz",
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
},
"from2": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
+ "resolved": "https://registry.nlark.com/from2/download/from2-2.3.0.tgz",
"integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
"dev": true,
"requires": {
@@ -7515,7 +7515,7 @@
},
"fs-write-stream-atomic": {
"version": "1.0.10",
- "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
+ "resolved": "https://registry.npmmirror.com/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz",
"integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
"dev": true,
"requires": {
@@ -7527,7 +7527,7 @@
},
"fs.realpath": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "resolved": "https://registry.nlark.com/fs.realpath/download/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"fsevents": {
@@ -7636,12 +7636,12 @@
},
"get-value": {
"version": "2.0.6",
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "resolved": "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz",
"integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
},
"getpass": {
"version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "resolved": "https://registry.nlark.com/getpass/download/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"requires": {
"assert-plus": "^1.0.0"
@@ -7745,7 +7745,7 @@
"dependencies": {
"pify": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "resolved": "https://registry.nlark.com/pify/download/pify-3.0.0.tgz",
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
}
}
@@ -7794,7 +7794,7 @@
},
"growly": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/growly/download/growly-1.3.0.tgz",
"integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE="
},
"gud": {
@@ -7820,7 +7820,7 @@
},
"hammerjs": {
"version": "2.0.8",
- "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz",
+ "resolved": "https://registry.npm.taobao.org/hammerjs/download/hammerjs-2.0.8.tgz",
"integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE="
},
"handle-thing": {
@@ -7898,7 +7898,7 @@
},
"har-schema": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz",
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
},
"har-validator": {
@@ -7920,7 +7920,7 @@
},
"has-ansi": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "resolved": "https://registry.nlark.com/has-ansi/download/has-ansi-2.0.0.tgz?cache=0&sync_timestamp=1631556755105&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-ansi%2Fdownload%2Fhas-ansi-2.0.0.tgz",
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
"requires": {
"ansi-regex": "^2.0.0"
@@ -7933,7 +7933,7 @@
},
"has-flag": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "resolved": "https://registry.nlark.com/has-flag/download/has-flag-3.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
},
"has-symbols": {
@@ -7957,7 +7957,7 @@
},
"has-value": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "resolved": "https://registry.nlark.com/has-value/download/has-value-1.0.0.tgz",
"integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
"requires": {
"get-value": "^2.0.6",
@@ -7974,7 +7974,7 @@
},
"has-values": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "resolved": "https://registry.nlark.com/has-values/download/has-values-1.0.0.tgz",
"integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
"requires": {
"is-number": "^3.0.0",
@@ -7988,7 +7988,7 @@
},
"is-number": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "resolved": "https://registry.nlark.com/is-number/download/is-number-3.0.0.tgz",
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
"requires": {
"kind-of": "^3.0.2"
@@ -7996,7 +7996,7 @@
"dependencies": {
"kind-of": {
"version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"requires": {
"is-buffer": "^1.1.5"
@@ -8006,7 +8006,7 @@
},
"kind-of": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz",
"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
"requires": {
"is-buffer": "^1.1.5"
@@ -8095,7 +8095,7 @@
},
"hmac-drbg": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+ "resolved": "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz",
"integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
"dev": true,
"requires": {
@@ -8142,7 +8142,7 @@
},
"hpack.js": {
"version": "2.1.6",
- "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
+ "resolved": "https://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz",
"integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
"requires": {
"inherits": "^2.0.1",
@@ -8153,13 +8153,13 @@
},
"hsl-regex": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz",
+ "resolved": "https://registry.nlark.com/hsl-regex/download/hsl-regex-1.0.0.tgz",
"integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=",
"dev": true
},
"hsla-regex": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/hsla-regex/download/hsla-regex-1.0.0.tgz",
"integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=",
"dev": true
},
@@ -8226,7 +8226,7 @@
},
"http-deceiver": {
"version": "1.2.7",
- "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
+ "resolved": "https://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz",
"integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc="
},
"http-errors": {
@@ -8584,7 +8584,7 @@
},
"http-signature": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "resolved": "https://registry.npmmirror.com/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1637178620216&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz",
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
"requires": {
"assert-plus": "^1.0.0",
@@ -8594,7 +8594,7 @@
},
"https-browserify": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
+ "resolved": "https://registry.nlark.com/https-browserify/download/https-browserify-1.0.0.tgz",
"integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
"dev": true
},
@@ -8691,7 +8691,7 @@
},
"iferr": {
"version": "0.1.5",
- "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
+ "resolved": "https://registry.nlark.com/iferr/download/iferr-0.1.5.tgz",
"integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
"dev": true
},
@@ -8722,12 +8722,12 @@
},
"immutable": {
"version": "3.7.6",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz",
+ "resolved": "https://registry.npm.taobao.org/immutable/download/immutable-3.7.6.tgz",
"integrity": "sha1-E7TTyxK++hVIKib+Gy665kAHHks="
},
"import-fresh": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz?cache=0&sync_timestamp=1608469579940&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-2.0.0.tgz",
"integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
"dev": true,
"requires": {
@@ -8816,7 +8816,7 @@
},
"imurmurhash": {
"version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "resolved": "https://registry.nlark.com/imurmurhash/download/imurmurhash-0.1.4.tgz",
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
},
"in-publish": {
@@ -8843,7 +8843,7 @@
},
"indexes-of": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
+ "resolved": "https://registry.nlark.com/indexes-of/download/indexes-of-1.0.1.tgz",
"integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
"dev": true
},
@@ -8855,7 +8855,7 @@
},
"inflight": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"requires": {
"once": "^1.3.0",
@@ -8962,12 +8962,12 @@
},
"ip": {
"version": "1.1.5",
- "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
+ "resolved": "https://registry.nlark.com/ip/download/ip-1.1.5.tgz",
"integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
},
"ip-regex": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
+ "resolved": "https://registry.nlark.com/ip-regex/download/ip-regex-2.1.0.tgz",
"integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk="
},
"ipaddr.js": {
@@ -8982,7 +8982,7 @@
},
"is-accessor-descriptor": {
"version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz",
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
"requires": {
"kind-of": "^3.0.2"
@@ -8999,7 +8999,7 @@
},
"is-arrayish": {
"version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz",
"integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
},
"is-bigint": {
@@ -9050,7 +9050,7 @@
},
"is-color-stop": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz",
+ "resolved": "https://registry.nlark.com/is-color-stop/download/is-color-stop-1.1.0.tgz",
"integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=",
"dev": true,
"requires": {
@@ -9072,7 +9072,7 @@
},
"is-data-descriptor": {
"version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz",
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
"requires": {
"kind-of": "^3.0.2"
@@ -9105,7 +9105,7 @@
},
"is-directory": {
"version": "0.3.1",
- "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
+ "resolved": "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz",
"integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE="
},
"is-docker": {
@@ -9128,7 +9128,7 @@
},
"is-extendable": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz",
"integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
},
"is-extglob": {
@@ -9206,7 +9206,7 @@
},
"is-obj": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "resolved": "https://registry.nlark.com/is-obj/download/is-obj-1.0.1.tgz",
"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
},
"is-path-cwd": {
@@ -9232,7 +9232,7 @@
},
"is-plain-obj": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "resolved": "https://registry.nlark.com/is-plain-obj/download/is-plain-obj-1.1.0.tgz",
"integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
},
"is-plain-object": {
@@ -9296,7 +9296,7 @@
},
"is-stream": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "resolved": "https://registry.nlark.com/is-stream/download/is-stream-1.1.0.tgz",
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
},
"is-string": {
@@ -9317,7 +9317,7 @@
},
"is-typedarray": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
},
"is-utf8": {
@@ -9347,7 +9347,7 @@
},
"isexe": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz",
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
},
"isobject": {
@@ -9360,7 +9360,7 @@
},
"isomorphic-fetch": {
"version": "2.2.1",
- "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
+ "resolved": "https://registry.nlark.com/isomorphic-fetch/download/isomorphic-fetch-2.2.1.tgz",
"integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
"requires": {
"node-fetch": "^1.0.1",
@@ -9369,7 +9369,7 @@
},
"isstream": {
"version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "resolved": "https://registry.nlark.com/isstream/download/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
},
"istanbul-api": {
@@ -9897,7 +9897,7 @@
},
"jsbn": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "resolved": "https://registry.nlark.com/jsbn/download/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
},
"jsdom": {
@@ -9964,7 +9964,7 @@
},
"json-stringify-safe": {
"version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "resolved": "https://registry.nlark.com/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
},
"json2module": {
@@ -9977,7 +9977,7 @@
},
"json2mq": {
"version": "0.2.0",
- "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz",
+ "resolved": "https://registry.nlark.com/json2mq/download/json2mq-0.2.0.tgz",
"integrity": "sha1-tje9O6nqvhIsg+lyBIOusQ0skEo=",
"requires": {
"string-convert": "^0.2.0"
@@ -9995,7 +9995,7 @@
},
"jsonfile": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz?cache=0&sync_timestamp=1604161876665&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonfile%2Fdownload%2Fjsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"requires": {
"graceful-fs": "^4.1.6"
@@ -10187,7 +10187,7 @@
},
"kind-of": {
"version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"requires": {
"is-buffer": "^1.1.5"
@@ -10220,7 +10220,7 @@
},
"lazy-cache": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
+ "resolved": "https://registry.nlark.com/lazy-cache/download/lazy-cache-1.0.4.tgz",
"integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4="
},
"lcid": {
@@ -10300,7 +10300,7 @@
},
"levn": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "resolved": "https://registry.nlark.com/levn/download/levn-0.3.0.tgz",
"integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
"requires": {
"prelude-ls": "~1.1.2",
@@ -10387,7 +10387,7 @@
},
"lodash.debounce": {
"version": "4.0.8",
- "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+ "resolved": "https://registry.nlark.com/lodash.debounce/download/lodash.debounce-4.0.8.tgz",
"integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168="
},
"lodash.defaults": {
@@ -10403,12 +10403,12 @@
},
"lodash.isequal": {
"version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/lodash.isequal/download/lodash.isequal-4.5.0.tgz",
"integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
},
"lodash.memoize": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+ "resolved": "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz",
"integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
"dev": true
},
@@ -10431,12 +10431,12 @@
},
"lodash.throttle": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
+ "resolved": "https://registry.nlark.com/lodash.throttle/download/lodash.throttle-4.1.1.tgz",
"integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ="
},
"lodash.uniq": {
"version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+ "resolved": "https://registry.nlark.com/lodash.uniq/download/lodash.uniq-4.5.0.tgz",
"integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
"dev": true
},
@@ -10514,7 +10514,7 @@
},
"map-cache": {
"version": "0.2.2",
- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "resolved": "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz",
"integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
},
"map-obj": {
@@ -10524,7 +10524,7 @@
},
"map-visit": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "resolved": "https://registry.nlark.com/map-visit/download/map-visit-1.0.0.tgz",
"integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
"requires": {
"object-visit": "^1.0.0"
@@ -10631,7 +10631,7 @@
},
"media-typer": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
},
"memoize-one": {
@@ -10680,7 +10680,7 @@
},
"merge-descriptors": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz",
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
},
"merge-stream": {
@@ -10696,7 +10696,7 @@
},
"methods": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "resolved": "https://registry.nlark.com/methods/download/methods-1.1.2.tgz",
"integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
},
"microevent.ts": {
@@ -10767,7 +10767,7 @@
},
"min-document": {
"version": "2.19.0",
- "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/min-document/download/min-document-2.19.0.tgz",
"integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
"requires": {
"dom-walk": "^0.1.0"
@@ -10821,7 +10821,7 @@
},
"minimalistic-crypto-utils": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
+ "resolved": "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz",
"integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
"dev": true
},
@@ -10968,7 +10968,7 @@
},
"move-concurrently": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
+ "resolved": "https://registry.nlark.com/move-concurrently/download/move-concurrently-1.0.1.tgz",
"integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
"dev": true,
"requires": {
@@ -11058,7 +11058,7 @@
},
"natural-compare": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "resolved": "https://registry.nlark.com/natural-compare/download/natural-compare-1.4.0.tgz?cache=0&sync_timestamp=1624608011507&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnatural-compare%2Fdownload%2Fnatural-compare-1.4.0.tgz",
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc="
},
"negotiator": {
@@ -11129,7 +11129,7 @@
},
"node-int64": {
"version": "0.4.0",
- "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+ "resolved": "https://registry.nlark.com/node-int64/download/node-int64-0.4.0.tgz",
"integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs="
},
"node-libs-browser": {
@@ -11171,7 +11171,7 @@
},
"punycode": {
"version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "resolved": "https://registry.nlark.com/punycode/download/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
"dev": true
}
@@ -11261,7 +11261,7 @@
},
"normalize-range": {
"version": "0.1.2",
- "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "resolved": "https://registry.nlark.com/normalize-range/download/normalize-range-0.1.2.tgz",
"integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI="
},
"normalize-scroll-left": {
@@ -11282,7 +11282,7 @@
},
"npm-run-path": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "resolved": "https://registry.npmmirror.com/npm-run-path/download/npm-run-path-2.0.2.tgz?cache=0&sync_timestamp=1633420566316&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnpm-run-path%2Fdownload%2Fnpm-run-path-2.0.2.tgz",
"integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
"requires": {
"path-key": "^2.0.0"
@@ -11310,7 +11310,7 @@
},
"num2fraction": {
"version": "1.2.2",
- "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
+ "resolved": "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz",
"integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4="
},
"number-is-nan": {
@@ -11340,12 +11340,12 @@
},
"object-assign": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "resolved": "https://registry.nlark.com/object-assign/download/object-assign-4.1.1.tgz?cache=0&sync_timestamp=1618847240432&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fobject-assign%2Fdownload%2Fobject-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
},
"object-copy": {
"version": "0.1.0",
- "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "resolved": "https://registry.nlark.com/object-copy/download/object-copy-0.1.0.tgz",
"integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
"requires": {
"copy-descriptor": "^0.1.0",
@@ -11355,7 +11355,7 @@
"dependencies": {
"define-property": {
"version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"requires": {
"is-descriptor": "^0.1.0"
@@ -11389,7 +11389,7 @@
},
"object-visit": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "resolved": "https://registry.nlark.com/object-visit/download/object-visit-1.0.1.tgz",
"integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
"requires": {
"isobject": "^3.0.0"
@@ -11444,7 +11444,7 @@
},
"object.pick": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "resolved": "https://registry.nlark.com/object.pick/download/object.pick-1.3.0.tgz",
"integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
"requires": {
"isobject": "^3.0.1"
@@ -11483,7 +11483,7 @@
},
"on-finished": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz",
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
"requires": {
"ee-first": "1.1.1"
@@ -11496,7 +11496,7 @@
},
"once": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "resolved": "https://registry.nlark.com/once/download/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"requires": {
"wrappy": "1"
@@ -11576,7 +11576,7 @@
},
"os-browserify": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
+ "resolved": "https://registry.nlark.com/os-browserify/download/os-browserify-0.3.0.tgz",
"integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
"dev": true
},
@@ -11621,7 +11621,7 @@
},
"p-finally": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz",
"integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
},
"p-limit": {
@@ -11758,7 +11758,7 @@
},
"pascalcase": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "resolved": "https://registry.nlark.com/pascalcase/download/pascalcase-0.1.1.tgz",
"integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
},
"path-browserify": {
@@ -11769,17 +11769,17 @@
},
"path-dirname": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+ "resolved": "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz",
"integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA="
},
"path-exists": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "resolved": "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz",
"integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
},
"path-is-absolute": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
},
"path-is-inside": {
@@ -11789,7 +11789,7 @@
},
"path-key": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "resolved": "https://registry.nlark.com/path-key/download/path-key-2.0.1.tgz",
"integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
},
"path-parse": {
@@ -11837,7 +11837,7 @@
},
"performance-now": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "resolved": "https://registry.nlark.com/performance-now/download/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
},
"picomatch": {
@@ -11916,7 +11916,7 @@
},
"posix-character-classes": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "resolved": "https://registry.nlark.com/posix-character-classes/download/posix-character-classes-0.1.1.tgz",
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
},
"postcss": {
@@ -13861,7 +13861,7 @@
},
"prelude-ls": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "resolved": "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz",
"integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
},
"prepend-http": {
@@ -13927,7 +13927,7 @@
},
"promise-inflight": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
+ "resolved": "https://registry.nlark.com/promise-inflight/download/promise-inflight-1.0.1.tgz",
"integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
"dev": true
},
@@ -13952,12 +13952,12 @@
},
"prr": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+ "resolved": "https://registry.nlark.com/prr/download/prr-1.0.1.tgz",
"integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY="
},
"pseudomap": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "resolved": "https://registry.nlark.com/pseudomap/download/pseudomap-1.0.2.tgz",
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
},
"psl": {
@@ -14094,13 +14094,13 @@
},
"q": {
"version": "1.5.1",
- "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+ "resolved": "https://registry.nlark.com/q/download/q-1.5.1.tgz",
"integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
"dev": true
},
"qr.js": {
"version": "0.0.0",
- "resolved": "https://registry.npmjs.org/qr.js/-/qr.js-0.0.0.tgz",
+ "resolved": "https://registry.nlark.com/qr.js/download/qr.js-0.0.0.tgz",
"integrity": "sha1-ys6GOG9ZoNuAUPqQ2baw6IoeNk8="
},
"qrcode.react": {
@@ -14123,7 +14123,7 @@
},
"query-string": {
"version": "4.3.4",
- "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
+ "resolved": "https://registry.nlark.com/query-string/download/query-string-4.3.4.tgz",
"integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
"requires": {
"object-assign": "^4.1.0",
@@ -14132,12 +14132,12 @@
},
"querystring": {
"version": "0.2.0",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+ "resolved": "https://registry.npmmirror.com/querystring/download/querystring-0.2.0.tgz",
"integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
},
"querystring-es3": {
"version": "0.2.1",
- "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "resolved": "https://registry.nlark.com/querystring-es3/download/querystring-es3-0.2.1.tgz",
"integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
"dev": true
},
@@ -16029,7 +16029,7 @@
"dependencies": {
"jsesc": {
"version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "resolved": "https://registry.nlark.com/jsesc/download/jsesc-0.5.0.tgz",
"integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
}
}
@@ -16041,7 +16041,7 @@
},
"remove-trailing-separator": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "resolved": "https://registry.nlark.com/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz",
"integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
},
"renderkid": {
@@ -16063,7 +16063,7 @@
},
"repeat-string": {
"version": "1.6.1",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz",
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
},
"repeating": {
@@ -16110,7 +16110,7 @@
},
"require-directory": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "resolved": "https://registry.nlark.com/require-directory/download/require-directory-2.1.1.tgz",
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
},
"require-from-string": {
@@ -16134,12 +16134,12 @@
},
"requires-port": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "resolved": "https://registry.npmmirror.com/requires-port/download/requires-port-1.0.0.tgz",
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
},
"reqwest": {
"version": "2.0.5",
- "resolved": "https://registry.npmjs.org/reqwest/-/reqwest-2.0.5.tgz",
+ "resolved": "https://registry.npm.taobao.org/reqwest/download/reqwest-2.0.5.tgz",
"integrity": "sha1-APsVrEkYxBnKgrQ/JMeIguZgOaE=",
"dev": true
},
@@ -16217,7 +16217,7 @@
},
"resolve-url": {
"version": "0.2.1",
- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "resolved": "https://registry.npmmirror.com/resolve-url/download/resolve-url-0.2.1.tgz",
"integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
},
"restore-cursor": {
@@ -16249,13 +16249,13 @@
},
"rgb-regex": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz",
+ "resolved": "https://registry.nlark.com/rgb-regex/download/rgb-regex-1.0.1.tgz",
"integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=",
"dev": true
},
"rgba-regex": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz",
+ "resolved": "https://registry.nlark.com/rgba-regex/download/rgba-regex-1.0.0.tgz",
"integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=",
"dev": true
},
@@ -16413,7 +16413,7 @@
},
"run-queue": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
+ "resolved": "https://registry.nlark.com/run-queue/download/run-queue-1.0.3.tgz",
"integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
"dev": true,
"requires": {
@@ -16460,7 +16460,7 @@
},
"safe-regex": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "resolved": "https://registry.nlark.com/safe-regex/download/safe-regex-1.1.0.tgz",
"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
"requires": {
"ret": "~0.1.10"
@@ -16707,7 +16707,7 @@
},
"save-dev": {
"version": "0.0.1-security",
- "resolved": "http://173.15.15.82:8081/repository/npm-all/save-dev/-/save-dev-0.0.1-security.tgz",
+ "resolved": "https://registry.npmjs.org/save-dev/-/save-dev-0.0.1-security.tgz",
"integrity": "sha512-k6knZTDNK8PKKbIqnvxiOveJinuw2LcQjqDoaorZWP9M5AR2EPsnpDeSbeoZZ0pHr5ze1uoaKdK8NBGQrJ34Uw=="
},
"sax": {
@@ -16788,7 +16788,7 @@
},
"select-hose": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
+ "resolved": "https://registry.nlark.com/select-hose/download/select-hose-2.0.0.tgz",
"integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo="
},
"selfsigned": {
@@ -16842,7 +16842,7 @@
"dependencies": {
"ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
}
}
@@ -16929,7 +16929,7 @@
},
"set-blocking": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "resolved": "https://registry.nlark.com/set-blocking/download/set-blocking-2.0.0.tgz",
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
},
"set-value": {
@@ -16945,7 +16945,7 @@
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"requires": {
"is-extendable": "^0.1.0"
@@ -16955,7 +16955,7 @@
},
"setimmediate": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "resolved": "https://registry.nlark.com/setimmediate/download/setimmediate-1.0.5.tgz",
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
},
"setprototypeof": {
@@ -17000,7 +17000,7 @@
},
"shebang-command": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "resolved": "https://registry.nlark.com/shebang-command/download/shebang-command-1.2.0.tgz",
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
"requires": {
"shebang-regex": "^1.0.0"
@@ -17008,7 +17008,7 @@
},
"shebang-regex": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "resolved": "https://registry.nlark.com/shebang-regex/download/shebang-regex-1.0.0.tgz",
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
},
"shell-quote": {
@@ -17355,7 +17355,7 @@
},
"simple-swizzle": {
"version": "0.2.2",
- "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
+ "resolved": "https://registry.npmmirror.com/simple-swizzle/download/simple-swizzle-0.2.2.tgz",
"integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
"dev": true,
"requires": {
@@ -17413,7 +17413,7 @@
},
"define-property": {
"version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"requires": {
"is-descriptor": "^0.1.0"
@@ -17421,7 +17421,7 @@
},
"extend-shallow": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"requires": {
"is-extendable": "^0.1.0"
@@ -17429,7 +17429,7 @@
},
"source-map": {
"version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "resolved": "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
}
}
@@ -17446,7 +17446,7 @@
"dependencies": {
"define-property": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "resolved": "https://registry.nlark.com/define-property/download/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"requires": {
"is-descriptor": "^1.0.0"
@@ -17538,7 +17538,7 @@
},
"sort-keys": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
+ "resolved": "https://registry.nlark.com/sort-keys/download/sort-keys-1.1.2.tgz",
"integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
"requires": {
"is-plain-obj": "^1.0.0"
@@ -17689,7 +17689,7 @@
},
"sprintf-js": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "resolved": "https://registry.nlark.com/sprintf-js/download/sprintf-js-1.0.3.tgz",
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
},
"sshpk": {
@@ -17725,7 +17725,7 @@
},
"static-extend": {
"version": "0.1.2",
- "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "resolved": "https://registry.nlark.com/static-extend/download/static-extend-0.1.2.tgz",
"integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
"requires": {
"define-property": "^0.2.5",
@@ -17734,7 +17734,7 @@
"dependencies": {
"define-property": {
"version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"requires": {
"is-descriptor": "^0.1.0"
@@ -17744,7 +17744,7 @@
},
"statuses": {
"version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz?cache=0&sync_timestamp=1609654090567&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstatuses%2Fdownload%2Fstatuses-1.5.0.tgz",
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
},
"stdout-stream": {
@@ -17763,7 +17763,7 @@
},
"store": {
"version": "2.0.12",
- "resolved": "https://registry.npmjs.org/store/-/store-2.0.12.tgz",
+ "resolved": "https://registry.nlark.com/store/download/store-2.0.12.tgz",
"integrity": "sha1-jFNOKguDH3K3X8XxEZhXxE711ZM="
},
"stream-browserify": {
@@ -17807,12 +17807,12 @@
},
"strict-uri-encode": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz",
"integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM="
},
"string-convert": {
"version": "0.2.1",
- "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz",
+ "resolved": "https://registry.nlark.com/string-convert/download/string-convert-0.2.1.tgz",
"integrity": "sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c="
},
"string-length": {
@@ -17901,7 +17901,7 @@
},
"strip-eof": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "resolved": "https://registry.npmmirror.com/strip-eof/download/strip-eof-1.0.0.tgz",
"integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
},
"strip-indent": {
@@ -18524,7 +18524,7 @@
},
"text-table": {
"version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "resolved": "https://registry.nlark.com/text-table/download/text-table-0.2.0.tgz",
"integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ="
},
"theming": {
@@ -18545,7 +18545,7 @@
},
"through": {
"version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "resolved": "https://registry.nlark.com/through/download/through-2.3.8.tgz?cache=0&sync_timestamp=1618847037651&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fthrough%2Fdownload%2Fthrough-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
},
"through2": {
@@ -18579,7 +18579,7 @@
},
"timsort": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
+ "resolved": "https://registry.nlark.com/timsort/download/timsort-0.3.0.tgz",
"integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
"dev": true
},
@@ -18618,7 +18618,7 @@
},
"to-arraybuffer": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+ "resolved": "https://registry.nlark.com/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz",
"integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
"dev": true
},
@@ -18629,7 +18629,7 @@
},
"to-object-path": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz",
"integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
"requires": {
"kind-of": "^3.0.2"
@@ -18667,7 +18667,7 @@
},
"toggle-selection": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
+ "resolved": "https://registry.nlark.com/toggle-selection/download/toggle-selection-1.0.6.tgz",
"integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI="
},
"toidentifier": {
@@ -18721,13 +18721,13 @@
},
"tty-browserify": {
"version": "0.0.0",
- "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+ "resolved": "https://registry.nlark.com/tty-browserify/download/tty-browserify-0.0.0.tgz",
"integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
"dev": true
},
"tunnel-agent": {
"version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "resolved": "https://registry.nlark.com/tunnel-agent/download/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"requires": {
"safe-buffer": "^5.0.1"
@@ -18735,12 +18735,12 @@
},
"tweetnacl": {
"version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
},
"type-check": {
"version": "0.3.2",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "resolved": "https://registry.nlark.com/type-check/download/type-check-0.3.2.tgz",
"integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
"requires": {
"prelude-ls": "~1.1.2"
@@ -18762,7 +18762,7 @@
},
"typedarray": {
"version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "resolved": "https://registry.nlark.com/typedarray/download/typedarray-0.0.6.tgz",
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
},
"ua-parser-js": {
@@ -19003,13 +19003,13 @@
},
"uniq": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
+ "resolved": "https://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz",
"integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
"dev": true
},
"uniqs": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
+ "resolved": "https://registry.nlark.com/uniqs/download/uniqs-2.0.0.tgz",
"integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
"dev": true
},
@@ -19046,18 +19046,18 @@
},
"unpipe": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz",
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
},
"unquote": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
+ "resolved": "https://registry.nlark.com/unquote/download/unquote-1.1.1.tgz",
"integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=",
"dev": true
},
"unset-value": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "resolved": "https://registry.nlark.com/unset-value/download/unset-value-1.0.0.tgz",
"integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
"requires": {
"has-value": "^0.3.1",
@@ -19066,7 +19066,7 @@
"dependencies": {
"has-value": {
"version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "resolved": "https://registry.nlark.com/has-value/download/has-value-0.3.1.tgz",
"integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
"requires": {
"get-value": "^2.0.3",
@@ -19076,7 +19076,7 @@
"dependencies": {
"isobject": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "resolved": "https://registry.nlark.com/isobject/download/isobject-2.1.0.tgz",
"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
"requires": {
"isarray": "1.0.0"
@@ -19086,7 +19086,7 @@
},
"has-values": {
"version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "resolved": "https://registry.nlark.com/has-values/download/has-values-0.1.4.tgz",
"integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
},
"isobject": {
@@ -19150,12 +19150,12 @@
},
"urix": {
"version": "0.1.0",
- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "resolved": "https://registry.npmmirror.com/urix/download/urix-0.1.0.tgz",
"integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
},
"url": {
"version": "0.11.0",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "resolved": "https://registry.nlark.com/url/download/url-0.11.0.tgz?cache=0&sync_timestamp=1618846952693&other_urls=https%3A%2F%2Fregistry.nlark.com%2Furl%2Fdownload%2Furl-0.11.0.tgz",
"integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
"requires": {
"punycode": "1.3.2",
@@ -19164,7 +19164,7 @@
"dependencies": {
"punycode": {
"version": "1.3.2",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "resolved": "https://registry.nlark.com/punycode/download/punycode-1.3.2.tgz",
"integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
}
}
@@ -19270,7 +19270,7 @@
"dependencies": {
"inherits": {
"version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "resolved": "https://registry.nlark.com/inherits/download/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true
}
@@ -19278,7 +19278,7 @@
},
"util-deprecate": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"util.promisify": {
@@ -19297,7 +19297,7 @@
},
"utils-merge": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "resolved": "https://registry.nlark.com/utils-merge/download/utils-merge-1.0.1.tgz",
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
},
"uuid": {
@@ -19335,7 +19335,7 @@
},
"vary": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "resolved": "https://registry.nlark.com/vary/download/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
},
"vendors": {
@@ -19356,7 +19356,7 @@
},
"verror": {
"version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "resolved": "https://registry.npmmirror.com/verror/download/verror-1.10.0.tgz?cache=0&sync_timestamp=1635885197130&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fverror%2Fdownload%2Fverror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"requires": {
"assert-plus": "^1.0.0",
@@ -19534,13 +19534,15 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"is-glob": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
"integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
"dev": true,
+ "optional": true,
"requires": {
"is-extglob": "^2.1.1"
}
@@ -20944,7 +20946,7 @@
},
"wrappy": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "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="
},
"write": {
diff --git a/public/css/iconfont.css b/public/css/iconfont.css
index 10f85955..eb29acda 100644
--- a/public/css/iconfont.css
+++ b/public/css/iconfont.css
@@ -1,8 +1,9 @@
@font-face {
font-family: "iconfont"; /* Project id 2340181 */
- src: url('iconfont.woff2?t=1646896472168') format('woff2'),
- url('iconfont.woff?t=1646896472168') format('woff'),
- url('iconfont.ttf?t=1646896472168') format('truetype');
+ src: url('iconfont.woff2?t=1648801178933') format('woff2'),
+ url('iconfont.woff?t=1648801178933') format('woff'),
+ url('iconfont.ttf?t=1648801178933') format('truetype');
+
}
.iconfont {
diff --git a/public/css/iconfont.js b/public/css/iconfont.js
index 432bbf09..f21b27d2 100644
--- a/public/css/iconfont.js
+++ b/public/css/iconfont.js
@@ -1 +1,9 @@
-!function(a){var l,c,h,i,o,z='',t=(t=document.getElementsByTagName("script"))[t.length-1].getAttribute("data-injectcss"),p=function(a,l){l.parentNode.insertBefore(a,l)};if(t&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(a){console&&console.log(a)}}function v(){o||(o=!0,h())}function m(){try{i.documentElement.doScroll("left")}catch(a){return void setTimeout(m,50)}v()}l=function(){var a,l=document.createElement("div");l.innerHTML=z,z=null,(l=l.getElementsByTagName("svg")[0])&&(l.setAttribute("aria-hidden","true"),l.style.position="absolute",l.style.width=0,l.style.height=0,l.style.overflow="hidden",l=l,(a=document.body).firstChild?p(l,a.firstChild):a.appendChild(l))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(l,0):(c=function(){document.removeEventListener("DOMContentLoaded",c,!1),l()},document.addEventListener("DOMContentLoaded",c,!1)):document.attachEvent&&(h=l,i=a.document,o=!1,m(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,v())})}(window);
\ No newline at end of file
+<<<<<<< HEAD
+!function(a){var l,c,h,i,o,z='',t=(t=document.getElementsByTagName("script"))[t.length-1].getAttribute("data-injectcss"),p=function(a,l){l.parentNode.insertBefore(a,l)};if(t&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(a){console&&console.log(a)}}function v(){o||(o=!0,h())}function m(){try{i.documentElement.doScroll("left")}catch(a){return void setTimeout(m,50)}v()}l=function(){var a,l=document.createElement("div");l.innerHTML=z,z=null,(l=l.getElementsByTagName("svg")[0])&&(l.setAttribute("aria-hidden","true"),l.style.position="absolute",l.style.width=0,l.style.height=0,l.style.overflow="hidden",l=l,(a=document.body).firstChild?p(l,a.firstChild):a.appendChild(l))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(l,0):(c=function(){document.removeEventListener("DOMContentLoaded",c,!1),l()},document.addEventListener("DOMContentLoaded",c,!1)):document.attachEvent&&(h=l,i=a.document,o=!1,m(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,v())})}(window);
+=======
+<<<<<<< HEAD
+!function(a){var c,l,h,i,o,z='',t=(t=document.getElementsByTagName("script"))[t.length-1].getAttribute("data-injectcss"),v=function(a,c){c.parentNode.insertBefore(a,c)};if(t&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(a){console&&console.log(a)}}function p(){o||(o=!0,h())}function m(){try{i.documentElement.doScroll("left")}catch(a){return void setTimeout(m,50)}p()}c=function(){var a,c=document.createElement("div");c.innerHTML=z,z=null,(c=c.getElementsByTagName("svg")[0])&&(c.setAttribute("aria-hidden","true"),c.style.position="absolute",c.style.width=0,c.style.height=0,c.style.overflow="hidden",c=c,(a=document.body).firstChild?v(c,a.firstChild):a.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(c,0):(l=function(){document.removeEventListener("DOMContentLoaded",l,!1),c()},document.addEventListener("DOMContentLoaded",l,!1)):document.attachEvent&&(h=c,i=a.document,o=!1,m(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,p())})}(window);
+=======
+!function(a){var l,c,h,i,o,z='',t=(t=document.getElementsByTagName("script"))[t.length-1].getAttribute("data-injectcss"),p=function(a,l){l.parentNode.insertBefore(a,l)};if(t&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(a){console&&console.log(a)}}function v(){o||(o=!0,h())}function m(){try{i.documentElement.doScroll("left")}catch(a){return void setTimeout(m,50)}v()}l=function(){var a,l=document.createElement("div");l.innerHTML=z,z=null,(l=l.getElementsByTagName("svg")[0])&&(l.setAttribute("aria-hidden","true"),l.style.position="absolute",l.style.width=0,l.style.height=0,l.style.overflow="hidden",l=l,(a=document.body).firstChild?p(l,a.firstChild):a.appendChild(l))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(l,0):(c=function(){document.removeEventListener("DOMContentLoaded",c,!1),l()},document.addEventListener("DOMContentLoaded",c,!1)):document.attachEvent&&(h=l,i=a.document,o=!1,m(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,v())})}(window);
+>>>>>>> a58c7403 (修改样式)
+>>>>>>> 28c54cf03e9d6ea80181ba2fdc074d650fdd840f
diff --git a/public/css/iconfont.json b/public/css/iconfont.json
index b8ec7746..e3f90620 100644
--- a/public/css/iconfont.json
+++ b/public/css/iconfont.json
@@ -132,6 +132,7 @@
"unicode_decimal": 59669
},
{
+
"icon_id": "27299393",
"name": "icon",
"font_class": "icon2",
diff --git a/public/fonts/FZXBSJW.TTF b/public/fonts/FZXBSJW.TTF
new file mode 100644
index 00000000..ac27db79
Binary files /dev/null and b/public/fonts/FZXBSJW.TTF differ
diff --git a/public/fonts/fangsongGB2312.ttf b/public/fonts/fangsongGB2312.ttf
new file mode 100755
index 00000000..16eb427c
Binary files /dev/null and b/public/fonts/fangsongGB2312.ttf differ
diff --git a/public/fonts/kaitiGB2312.ttf b/public/fonts/kaitiGB2312.ttf
new file mode 100644
index 00000000..ece2ac2c
Binary files /dev/null and b/public/fonts/kaitiGB2312.ttf differ
diff --git a/public/index.html b/public/index.html
index dd7c4e37..9a3bbc12 100755
--- a/public/index.html
+++ b/public/index.html
@@ -15,13 +15,45 @@
<%= htmlWebpackPlugin.tags.headTags %>
+
+ 不支持当前浏览器,请更换浏览器!
推荐使用谷歌浏览器、360浏览器极速模式、火狐浏览器或Edge浏览器!
+
diff --git a/src/App.js b/src/App.js
index 4f6b4029..7909de93 100644
--- a/src/App.js
+++ b/src/App.js
@@ -69,6 +69,11 @@ const Expert = Loadable({
loader: () => import('./military/expert'),
loading: Loading,
})
+// 启智2022 (为此竞赛定制化页面以及内容)
+const Qz2022 = Loadable({
+ loader: () => import('./military/qz2022'),
+ loading: Loading,
+})
//403页面
const Shixunauthority = Loadable({
loader: () => import('./modules/403/Shixunauthority'),
@@ -146,7 +151,7 @@ const Managements = Loadable({
// })
// 此处仅维护前端可能的一级路由,不用进行项目或者组织判断的字段。
-const keyWord = ["explore", "settings", "setting", "mulan", "wiki", "issues", "setting", "trending", "code", "projects", "pulls", "mine", "login", "register", "email", "export", "nopage", "404", "403", "500", "501", "search", "organize", "login", "register", "resetPassword", "aboutus","educoder","task","notice","managements","expert","administration",];
+const keyWord = ["explore", "settings", "setting", "mulan", "wiki", "issues", "setting", "trending", "code", "projects", "pulls", "mine", "login", "register", "email", "export", "nopage", "404", "403", "500", "501", "search", "organize", "login", "register", "resetPassword", "aboutus","educoder","task","notice","managements","expert","competition","administration"];
class App extends Component {
constructor(props) {
@@ -288,7 +293,7 @@ class App extends Component {
mygetHelmetapi: response.data.setting
});
//存储配置到游览器
- localStorage.setItem('chromesetting', JSON.stringify(response.data.setting));
+ response.data.setting&&localStorage.setItem('chromesetting', JSON.stringify(response.data.setting));
localStorage.setItem('chromesettingresponse', JSON.stringify(response));
try {
if (response.data.setting.tab_logo_url) {
@@ -375,7 +380,9 @@ class App extends Component {
{/*任务*/}
{/*专家评审*/}
-
+
+ {/*启智2022*/}
+
{
diff --git a/src/forge/Component/Handbook.jsx b/src/forge/Component/Handbook.jsx
index 0c8f5100..b9f9b7ca 100644
--- a/src/forge/Component/Handbook.jsx
+++ b/src/forge/Component/Handbook.jsx
@@ -5,7 +5,7 @@ import './Component.scss';
export default (()=>{
return(
diff --git a/src/forge/Component/NoticeModal/SystemNotice.jsx b/src/forge/Component/NoticeModal/SystemNotice.jsx
index c95a8030..33871e8c 100644
--- a/src/forge/Component/NoticeModal/SystemNotice.jsx
+++ b/src/forge/Component/NoticeModal/SystemNotice.jsx
@@ -3,41 +3,46 @@ import { Modal , Button } from 'antd';
import './Index.scss';
import '../../css/index.scss';
import RenderHtml from '../../../components/render-html';
-// import cookie from 'react-cookies';
-import axios from 'axios';
+import cookie from 'react-cookies';
+// import axios from 'axios';
function SystemNotice({showNotice,system_notification,history,login,hideSystemNotice}){
const [ visible , setVisible ] = useState(false);
-
useEffect(()=>{
-
- if(system_notification && !system_notification.is_read && showNotice && login){
+ if(system_notification && !cookie.load('notice_stage')){
setVisible(true);
}
- },[system_notification,login])
+ },[system_notification,history.location])
+
+ // useEffect(()=>{
+
+ // if(system_notification && !system_notification.is_read && showNotice && login){
+ // setVisible(true);
+ // }
+ // },[system_notification,login])
function sureContinue() {
- if(login && ( system_notification && system_notification.id )){
- const url = `/users/${login}/system_notification_histories.json`;
- axios.post(url,{
- system_notification_id:system_notification.id
- }).then(result=>{
- if(result){
- setVisible(false);
- hideSystemNotice();
- }
- }).catch(error=>{})
- }else{
- setVisible(false);
- hideSystemNotice();
- }
- // cookie.remove('notice_stage');
+ // if(login && ( system_notification && system_notification.id )){
+ // const url = `/users/${login}/system_notification_histories.json`;
+ // axios.post(url,{
+ // system_notification_id:system_notification.id
+ // }).then(result=>{
+ // if(result){
+ // setVisible(false);
+ // hideSystemNotice();
+ // }
+ // }).catch(error=>{})
+ // }else{
+ // setVisible(false);
+ // hideSystemNotice();
+ // }
+ cookie.remove('notice_stage');
- // let inFifteenMinutes = new Date(new Date().getTime() + 24 * 3600 * 1000);//一天
- // // let inFifteenMinutes = new Date(new Date().getTime() + 60 * 1000);//一分钟
- // cookie.save('notice_stage', true,{ expires: inFifteenMinutes,path:"/" });
+ let inFifteenMinutes = new Date(new Date().getTime() + 24 * 3600 * 1000);//一天
+ // let inFifteenMinutes = new Date(new Date().getTime() + 60 * 1000);//一分钟
+ cookie.save('notice_stage', true,{ expires: inFifteenMinutes,path:"/" });
- // setVisible(false);
+ setVisible(false);
}
return (
diff --git a/src/forge/Head/Header.js b/src/forge/Head/Header.js
index 47dbbd90..a7f8219d 100644
--- a/src/forge/Head/Header.js
+++ b/src/forge/Head/Header.js
@@ -184,7 +184,7 @@ class NewHeader extends Component {
axios.get(url).then((response) => {
if (response && response.data && response.data.setting) {
this.setState({ settings: response.data.setting });
- localStorage.setItem('chromesetting', JSON.stringify(response.data.setting));
+ response.data.setting&&localStorage.setItem('chromesetting', JSON.stringify(response.data.setting));
localStorage.setItem('chromesettingresponse', JSON.stringify(response));
} else {
this.gettablogourlnull();
diff --git a/src/forge/Head/header.scss b/src/forge/Head/header.scss
index b6c8e221..d5f4d571 100644
--- a/src/forge/Head/header.scss
+++ b/src/forge/Head/header.scss
@@ -69,7 +69,7 @@
}
.newFooter {
- position: absolute;
+ // position: absolute;
bottom: 0;
width: 100%;
background: #323232;
diff --git a/src/forge/Index.js b/src/forge/Index.js
index ddf7552c..562ee447 100644
--- a/src/forge/Index.js
+++ b/src/forge/Index.js
@@ -41,7 +41,7 @@ class Index extends Component {
return (
-
+ {window.location.href.indexOf('osredm.jk') < 0&&
}
{
+ let qzModalTime = localStorage.qzModalTime;
+ let nowTime = new Date().getTime();
+ if (qzModalTime) {
+ if (nowTime - qzModalTime > 24 * 3600 * 1000) {
+ // 延时展示,保证渲染modal不会白屏
+ setTimeout(()=>{setVisible(true);},500)
+ localStorage.setItem('qzModalTime', nowTime);
+ }
+ } else {
+ setTimeout(()=>{setVisible(true);},500)
+ localStorage.setItem('qzModalTime', nowTime);
+ }
+ }, [])
+
+ return (
+ { setVisible(false) }}
+ footer={null}
+ className='qzModal'
+ width='728px'
+ maskClosable={false}
+ >
+
-1?bg_local: bg} />
+
+ 查看详情
+
+ )
+}
+
+export default memo(QzModal);
\ No newline at end of file
diff --git a/src/home/QzModal/index.scss b/src/home/QzModal/index.scss
new file mode 100644
index 00000000..1fedd47d
--- /dev/null
+++ b/src/home/QzModal/index.scss
@@ -0,0 +1,46 @@
+.qzModal {
+ .ant-modal-body {
+ padding: 0;
+ background: rgb(48,118,207);
+
+ img {
+ border-radius: 2px;
+ }
+ }
+
+ .ant-modal-header {
+ height: 0;
+ background: rgb(48,118,207);
+ display: none !important;
+ }
+
+ .ant-modal-close {
+ top: 0 !important;
+ }
+ .ant-modal-close-icon {
+ border: 1px solid #fff;
+ color: #fff;
+ border-radius: 50%;
+ padding: 5%;
+ }
+
+ .qz-btn {
+ position: absolute;
+ bottom: -70px;
+ left: 295px;
+ width: 137px;
+ height: 49px;
+ background-color: #e96d2a;
+ border-color: #e96d2a;
+ border-radius: 6px;
+ color: #fff;
+ font-size:16px;
+ text-align: center;
+ line-height: 49px;
+ &:hover{
+ color: #fff !important;
+ background-color: #f96d2a;
+ border-color: #f96d2a;
+ }
+ }
+}
diff --git a/src/home/Slider/index.jsx b/src/home/Slider/index.jsx
new file mode 100644
index 00000000..c5237855
--- /dev/null
+++ b/src/home/Slider/index.jsx
@@ -0,0 +1,59 @@
+import React, { memo, useEffect, useState } from 'react';
+import Slider from 'react-slick';
+import { Link } from "react-router-dom";
+// import notice from '../img/slider.gif';
+import notice from '../img/notice.png';
+import text from '../img/slider.png';
+import "slick-carousel/slick/slick.css";
+import "slick-carousel/slick/slick-theme.css";
+
+import './index.scss';
+
+
+let setting = {
+ infinite: true,
+ speed: 21000,
+ slidesToShow: 1,
+ slidesToScroll: 1,
+ autoplaySpeed: 0,
+ // autoplaySpeed: 10000000,
+ centerMode: true,
+ centerPadding: '0px',
+ // pauseOnDotsHover: true,
+ // pauseOnFocus: true,
+ autoplay: true,
+ arrows: false,
+ vertical: false,
+ easing: 'linear',
+ useTransform: false,
+ cssEase: 'linear',
+}
+
+
+function SecondSection() {
+
+
+ return (
+
+
+
+
+
+

+

+
+
+
+
+
+

+

+
+
+
+
+
+ )
+}
+
+export default memo(SecondSection);
\ No newline at end of file
diff --git a/src/home/Slider/index.scss b/src/home/Slider/index.scss
new file mode 100644
index 00000000..5cfd035d
--- /dev/null
+++ b/src/home/Slider/index.scss
@@ -0,0 +1,37 @@
+.home-competition-slide {
+ position: relative;
+ overflow: hidden;
+ top: 4.375em;
+ left: 0;
+ right: 0;
+ z-index: 10;
+
+ .competition-slide-item {
+ display: flex;
+ justify-content: center;
+ height: 2.6vw;
+ }
+
+ .competition-notice {
+ width: 2.6vw;
+ animation: ballRotation 1s infinite alternate;
+ }
+
+ .competition-text {
+ width: 23.5vw;
+ }
+
+ @keyframes ballRotation {
+ 0% {
+ transform: scale(0.75);
+ }
+
+ 50% {
+ transform: scale(1.2);
+ }
+
+ 100% {
+ transform: scale(0.75);
+ }
+ }
+}
diff --git a/src/home/img/modal.png b/src/home/img/modal.png
new file mode 100644
index 00000000..20befebd
Binary files /dev/null and b/src/home/img/modal.png differ
diff --git a/src/home/img/modal_local.png b/src/home/img/modal_local.png
new file mode 100644
index 00000000..085cc9eb
Binary files /dev/null and b/src/home/img/modal_local.png differ
diff --git a/src/home/img/notice.png b/src/home/img/notice.png
new file mode 100644
index 00000000..022b6170
Binary files /dev/null and b/src/home/img/notice.png differ
diff --git a/src/home/img/slider.png b/src/home/img/slider.png
new file mode 100644
index 00000000..598e7a7d
Binary files /dev/null and b/src/home/img/slider.png differ
diff --git a/src/home/index.jsx b/src/home/index.jsx
index 46b5db6e..dd16d75e 100644
--- a/src/home/index.jsx
+++ b/src/home/index.jsx
@@ -3,6 +3,8 @@ import { TPMIndexHOC } from '../modules/tpm/TPMIndexHOC';
import { isMobile } from 'educoder';
import './index.scss';
+import Slider from './Slider';
+import QzModal from './QzModal';
import FirstSection from './FirstSection';
import SecondSection from './SecondSection';
import ThirdSection from './ThirdSection';
@@ -33,15 +35,15 @@ function HomePage({ history }) {
let settings = JSON.parse(localStorage.chromesetting);
let main_web_site_url = settings.main_web_site_url;
- let forumUrl ="";
- let competitionUrl ="";
- if(settings.navbar){
- for (const item of settings.navbar){
- if(item.name.indexOf("论坛")>-1){
- forumUrl=item.link;
+ let forumUrl = "";
+ let competitionUrl = "";
+ if (settings.navbar) {
+ for (const item of settings.navbar) {
+ if (item.name.indexOf("论坛") > -1) {
+ forumUrl = item.link;
}
- if(item.name.indexOf("竞赛")>-1){
- competitionUrl=item.link;
+ if (item.name.indexOf("竞赛") > -1) {
+ competitionUrl = item.link;
}
}
}
@@ -116,7 +118,7 @@ function HomePage({ history }) {
setSixth(false);
}
- if(isHuawei){
+ if (isHuawei) {
setFourth(true);
setSixth(true);
}
@@ -126,13 +128,15 @@ function HomePage({ history }) {
return (
+
+
-
+
@@ -149,11 +153,11 @@ function HomePage({ history }) {
-
+
-
+
diff --git a/src/military/components/login/index.jsx b/src/military/components/login/index.jsx
new file mode 100644
index 00000000..57d3804f
--- /dev/null
+++ b/src/military/components/login/index.jsx
@@ -0,0 +1,123 @@
+import React, { useEffect, useState } from 'react';
+import axios from 'axios';
+import { getImageUrl,getLogoImageUrl } from 'educoder';
+import { Link } from "react-router-dom";
+import './index.scss';
+
+export default ({ current_user, showLoginDialog }) => {
+
+ const [mygetHelmetapi2, setMygetHelmetapi2] = useState();
+
+ useEffect(() => {
+ let url = "/setting.json";
+ axios.get(url).then((response) => {
+ if (response && response.data) {
+ setMygetHelmetapi2(response.data.setting);
+ try {
+ if (response.data.setting.tab_logo_url) {
+ gettablogourldata(response);
+ } else {
+ gettablogourlnull();
+ }
+ } catch (e) {
+ gettablogourlnull();
+ }
+ } else {
+ gettablogourlnull();
+ }
+ }).catch((error) => {
+ gettablogourlnull();
+ });
+ },[])
+
+ //获取数据为空的时候
+ function gettablogourlnull() {
+ let link = document.createElement('link'),
+ oldLink = document.getElementById('dynamic-favicon');
+ link.id = 'dynamic-favicon';
+ link.rel = 'shortcut icon';
+ link.href = "/react/build/./favicon.ico";
+ if (oldLink) {
+ document.head.removeChild(oldLink);
+ }
+ document.head.appendChild(link);
+ };
+
+ //获取数据的时候
+ function gettablogourldata(response) {
+ document.title = response.data.setting.name;
+ let link = document.createElement('link'),
+ oldLink = document.getElementById('dynamic-favicon');
+ link.id = 'dynamic-favicon';
+ link.rel = 'shortcut icon';
+ link.href = '/' + response.data.setting.tab_logo_url;
+ if (oldLink) {
+ document.head.removeChild(oldLink);
+ }
+ console.log("ac12111:", response.data.setting.tab_logo_url);
+ document.head.appendChild(link);
+ }
+
+ function educoderloginysl() {
+ //退出账号
+ let url = `/accounts/logout.json`;
+ axios.get((url)).then((result) => {
+ if (result !== undefined) {
+ window.location.href = "/";
+ }
+ }).catch((error) => {
+ console.log(error);
+ })
+ }
+
+ const main_web_site_url =
+ localStorage.chromesetting &&
+ JSON.parse(localStorage.chromesetting).main_web_site_url;
+
+ return (
+
+ {current_user === undefined || current_user.login === "" ?
+
+ {showLoginDialog()}} className={`mr5`}>登录
+ {
+ mygetHelmetapi2 && mygetHelmetapi2.new_course && mygetHelmetapi2.new_course.register_url && (
+ 注册
+ )
+ }
+
+ :
+
+ {/*
*/}
+
+
+ {/* */}
+
+ - {current_user.username}
+ -
+ 个人中心
+
+ -
+ 创客管理
+
+ {
+ mygetHelmetapi2 && mygetHelmetapi2.new_course && mygetHelmetapi2.new_course.my_courses &&
+ - 我的课程
+ }
+ {
+ mygetHelmetapi2 && mygetHelmetapi2.new_course && mygetHelmetapi2.new_course.my_organ &&
+ - 我的组织
+ }
+ -
+ 退出
+
+
+
+ }
+
+ )
+}
+
+
+
+
diff --git a/src/military/components/login/index.scss b/src/military/components/login/index.scss
new file mode 100644
index 00000000..884b1447
--- /dev/null
+++ b/src/military/components/login/index.scss
@@ -0,0 +1,25 @@
+.qz2022Container{
+ padding-top:0 !important;
+ background:#fff ;
+}
+
+.qz-login{
+ position: absolute;
+ right: 70px;
+ top: 0;
+ color: #fff;
+ .login-box{
+ a{
+ color: #fff !important;
+ cursor: pointer;
+ :hover{
+ opacity: .8;
+ }
+ }
+
+ }
+}
+
+.newFooter{
+ position: relative;
+}
\ No newline at end of file
diff --git a/src/military/components/paginationTable/index.jsx b/src/military/components/paginationTable/index.jsx
index 4dfb3e70..dc05f5d2 100644
--- a/src/military/components/paginationTable/index.jsx
+++ b/src/military/components/paginationTable/index.jsx
@@ -3,10 +3,10 @@ import { Table, Pagination } from 'antd';
import './index.scss';
export default (props) => {
- const { loading, dataSource, columns, handleRow, total, setCurPage, current, rowSelection, expandedRowRender, expandIconColumnIndex, expandIconAsCell, onShowSizeChange, showSizeChanger, pagination, scroll } = props;
-
+ const {className, loading, dataSource, columns, handleRow, total, setCurPage, current, rowSelection, expandedRowRender, expandIconColumnIndex, expandIconAsCell, onShowSizeChange, showSizeChanger, pagination, scroll,pageSize } = props;
+
return (
-
+
{
current={current}
total={total}
showSizeChanger={showSizeChanger}
+ pageSize={pageSize||10}
/>}
diff --git a/src/military/expert/competionList/index.jsx b/src/military/expert/competionList/index.jsx
index 85a00d92..5e0420df 100644
--- a/src/military/expert/competionList/index.jsx
+++ b/src/military/expert/competionList/index.jsx
@@ -369,14 +369,16 @@ function Competition(props){
return(
-
{updateUrl(page)}}
- current={curPage}
- />
+ {updateUrl(page)}}
+ current={curPage}
+ pagination={false}
+ pageSize={10}
+ />
)
}
diff --git a/src/military/qz2022.js b/src/military/qz2022.js
new file mode 100644
index 00000000..5b6f3ade
--- /dev/null
+++ b/src/military/qz2022.js
@@ -0,0 +1,317 @@
+import React, { useEffect, useState } from "react";
+import { Link, Route, Switch } from "react-router-dom";
+import { withRouter } from "react-router";
+import { SnackbarHOC } from "educoder";
+import { CNotificationHOC } from "../modules/courses/common/CNotificationHOC";
+import { TPMIndexHOC } from "../modules/tpm/TPMIndexHOC";
+import Loadable from "react-loadable";
+import Loading from "../Loading";
+import { ImageLayerOfCommentHOC } from "../modules/page/layers/ImageLayerOfCommentHOC";
+import './qz2022/index.scss';
+import { Menu, Popover, Spin } from "antd";
+import banner from './qz2022/image/banner.jpg';
+import banner_local from './qz2022/image/banner_local.jpg';
+import { getQz2022, userCompetitionStatus } from "./qz2022/api";
+import { paths } from "./qz2022/static";
+import Login from './components/login';
+
+const Introduce = Loadable({
+ loader: () => import('./qz2022/introduce'),
+ loading: Loading,
+})
+const ManageEdit = Loadable({
+ loader: () => import('./qz2022/components/manageEdit'),
+ loading: Loading,
+})
+const Fingerpost = Loadable({
+ loader: () => import('./qz2022/fingerpost'),
+ loading: Loading,
+})
+const Notice = Loadable({
+ loader: () => import('./qz2022/notice'),
+ loading: Loading,
+})
+const NoticeDetail = Loadable({
+ loader: () => import('./qz2022/notice/detail.jsx'),
+ loading: Loading,
+})
+const NoticeEdit = Loadable({
+ loader: () => import('./qz2022/notice/addNotice.jsx'),
+ loading: Loading,
+})
+const Apply = Loadable({
+ loader: () => import('./qz2022/apply'),
+ loading: Loading,
+})
+const Refer = Loadable({
+ loader: () => import('./qz2022/refer'),
+ loading: Loading,
+})
+const Chat = Loadable({
+ loader: () => import('./qz2022/chat'),
+ loading: Loading,
+});
+const Contact = Loadable({
+ loader: () => import('./qz2022/contact'),
+ loading: Loading,
+});
+const Statistics = Loadable({
+ loader: () => import('./qz2022/statistics'),
+ loading: Loading,
+})
+const Management = Loadable({
+ loader: () => import('./qz2022/management'),
+ loading: Loading,
+})
+
+const Qz2022 = (props) => {
+ const { history, current_user } = props;
+ const { location } = history;
+ const { pathname } = location;
+ const [active, setActive] = useState();
+ const [reload, setReload] = useState();
+ const [reloadDetail, setReloadDetail] = useState();
+ const [qzDetail, setQzDetail] = useState();
+ const [enrollStatus, setEnrollStatus] = useState();
+
+ const [fixedTop, setFixedTop] = useState('');
+
+ const menu = (
+
+ );
+
+ useEffect(() => {
+ setActive(pathname.substring(pathname.lastIndexOf('/') + 1, pathname.lenght));
+ // document.body.scrollTop = 0;
+ // window.scrollTo(0,0);
+ }, [pathname]);
+
+ useEffect(() => {
+ window.addEventListener("scroll", scrollListener, false);
+ return () => {
+ window.removeEventListener("scroll", scrollListener, false);
+ }
+ }, []);
+
+ // useEffect(()=>{
+ // let footer=document.querySelector('.newFooter');
+ // let loading=document.querySelector('..ant-spin-nested-loading');
+ // if((footer.offsetTop +107) qz2022Top - 20) {
+ setFixedTop('fixed-top');
+ } else if (top < qz2022Top - 19) {
+ setFixedTop('');
+ }
+ }
+
+ useEffect(() => {
+ // 获取启智2022详情
+ getQz2022().then(response => {
+ if (response && response.status === 200) {
+ setQzDetail(response.data.data);
+ }
+ })
+ }, [reloadDetail])
+
+ useEffect(() => {
+ // 获取用户参与竞赛状态
+ userCompetitionStatus('qz2022').then(response => {
+ if (response && response.status === 200) {
+ setEnrollStatus(response.data.data);
+ }
+ })
+ }, [reload])
+
+ let applyStatus; // 是否处于报名阶段
+ let referStatus; // 是否处于提交作品阶段
+ let referEnd; // 是否处于提交作品阶段(提交已经结束)
+ if (qzDetail) {
+ applyStatus = Date.parse(new Date()) < Date.parse(new Date(qzDetail.enroll_date));
+ referStatus = !applyStatus && Date.parse(new Date()) < Date.parse(new Date(qzDetail.upload_date));
+ referEnd = Date.parse(new Date()) > Date.parse(new Date(qzDetail.upload_date));
+ }
+
+ function goToRefer() {
+ if (current_user && !current_user.login) {
+ props.showLoginDialog();
+ }else if(enrollStatus && !enrollStatus.enroll_status){
+ props.showNotification("您还未报名竞赛!");
+ }else if(enrollStatus && enrollStatus.status === 0){
+ props.showNotification("报名信息被管理员驳回!");
+ } else {
+ !referStatus ? props.showNotification(!referEnd ? `竞赛尚未开始提交作品,提交作品开始时间为:${qzDetail && qzDetail.enroll_date.substring(0, 10)}` : "比赛已结束") : "";
+ }
+ }
+
+ const is_local= qzDetail &&qzDetail.is_local;
+ const banner_url= qzDetail &&qzDetail.banner_url;
+
+ return (
+
+
+ {/* banner图+选项 */}
+
+
+
+ {paths.indexOf(active) !== -1 &&
+ -
+ 首页
+
+ -
+ 赛事指南
+
+ -
+ 通知公告
+
+ {/* 处于报名阶段正常跳转到报名页面,不处于右侧弹消息 */}
+ -
+ {current_user && current_user.login ? !applyStatus && props.showNotification("报名时间已截止") : props.showLoginDialog()}}>参赛报名
+
+ -
+ 提案提交
+
+ {/* -
+ 参赛报名
+
*/}
+ {/* -
+ 提案提交
+
*/}
+ -
+ 数据统计
+
+ -
+ 交流互动
+
+ -
+ 联系我们
+
+ {qzDetail && qzDetail.is_manager && -
+
+ 后台管理
+
+
}
+
}
+ {paths.indexOf(active) !== -1 &&
}
+
+
+
+ {/* 通知公告详情页 */}
+ ()
+ }
+ >
+ {/* 通知公告编辑页 */}
+ ()
+ }
+ >
+ {/* 通知公告新增页 */}
+ ()
+ }
+ >
+ {/* 大赛介绍、大赛指南、关于我们 编辑页 */}
+ ()
+ }
+ >
+ {/* 通知公告 */}
+ ()
+ }
+ >
+ {/* 参赛报名 */}
+ ()
+ }
+ >
+ {/* 提案提交 */}
+ ()
+ }
+ >
+ {/* 交流互动 */}
+ ()
+ }
+ >
+ {/* 联系我们 */}
+ ()
+ }
+ >
+ {/* 数据统计 */}
+ ()
+ }
+ >
+ {/* 后台管理-报名列表 */}
+ ()
+ }
+ >
+ {/* 后台管理-作品列表 */}
+ ()
+ }
+ >
+ {/* 大赛介绍 */}
+ ()
+ }
+ >
+ {/* 大赛指南 */}
+ ()
+ }
+ >
+ {/* 大赛介绍 */}
+ ()
+ }
+ >
+
+
+
+
+ );
+}
+
+export default withRouter(
+ ImageLayerOfCommentHOC({
+ imgSelector: ".imageLayerParent img, .imageLayerParent .imageTarget",
+ parentSelector: ".newMain",
+ })(CNotificationHOC()(SnackbarHOC()(TPMIndexHOC(Qz2022))))
+);
diff --git a/src/military/qz2022/api.js b/src/military/qz2022/api.js
new file mode 100644
index 00000000..0da28608
--- /dev/null
+++ b/src/military/qz2022/api.js
@@ -0,0 +1,76 @@
+import axios from 'axios';
+
+// 用户参与启智2022状态?debug=teacher
+export async function userCompetitionStatus(id) {
+ return axios.get(`/competition_infos/${id}/enroll_status.json`);
+}
+
+// 启智2022详情接口
+export function getQz2022() {
+ return axios.get(`/competition_infos/qz2022.json`);
+}
+
+// 报名启智2022 竞赛?debug=teacher
+export async function enrollCompetition(data){
+ return axios.post(`/competition_infos/qz2022/enroll.json`,data);
+}
+
+// 修改报名信息
+export async function enrollUpdate(data){
+ return axios.post(`/competition_infos/qz2022/enroll_update.json`,data);
+}
+
+// 统计启智2022 竞赛
+export async function stattistics(data){
+ return axios.get( `/competition_infos/qz2022/statistics.json`);
+}
+
+// 竞赛提交作品
+export async function uploadCompetition(data){
+ return axios.post(`/competition_infos/qz2022/upload.json`,data);
+}
+
+// 管理-竞赛报名列表?debug=admin
+export function getQzEnrollList(params) {
+ return axios.get(`/competition_infos/qz2022/enroll_list.json`,params={params});
+}
+
+// 管理-竞赛提交作品列表&debug=admin
+export function getQzProList(params) {
+ return axios.get(`/competition_infos/qz2022/enroll_list.json?upload=true`,params={params});
+}
+
+// 通知公告列表
+export function getNoticeList() {
+ return axios.get(`/competition_infos/qz2022/competition_notices.json`);
+}
+
+// 通知公告详情
+export function getNoticeDetail(id) {
+ return axios.get(`/competition_infos/qz2022/competition_notices/${id}.json`);
+}
+
+// 新增通知
+export async function addQz2022Notice(data){
+ return axios.post(`/competition_infos/qz2022/competition_notices.json`,data);
+}
+
+// 编辑通知
+export async function updateQz2022Notice(id,data){
+ return axios.put(`/competition_infos/qz2022/competition_notices/${id}.json`,data);
+}
+
+// 删除通知
+export async function deleteQz2022Notice(id){
+ return axios.delete(`/competition_infos/qz2022/competition_notices/${id}.json`);
+}
+
+// 编辑大赛介绍、大赛指南、关于我
+export async function updateQz2022(data){
+ return axios.put(`/competition_infos/qz2022.json`,data);
+}
+
+// 修改竞赛报名状态
+export async function updateEnroll(data){
+ return axios.post(`/competition_infos/qz2022/enroll_status_update.json`,data);
+}
\ No newline at end of file
diff --git a/src/military/qz2022/apply/index.jsx b/src/military/qz2022/apply/index.jsx
new file mode 100644
index 00000000..1b770541
--- /dev/null
+++ b/src/military/qz2022/apply/index.jsx
@@ -0,0 +1,271 @@
+import React, {useState, useCallback} from "react";
+import { Input, Select, Button, Form, message, Radio, Modal } from 'antd';
+import { Base64 } from 'js-base64';
+import {enrollCompetition, enrollUpdate} from '../api';
+import {current_main_site_url} from '../fetch';
+import EditTable from "../editTable";
+import apply_top from "../image/apply_top.png";
+import apply_down from "../image/apply_down.png";
+import apply_one_active from "../image/apply_one_active.png";
+import apply_one from "../image/apply_one.png";
+import apply_two_active from "../image/apply_two_active.png";
+import apply_two from "../image/apply_two.png";
+import apply_notice from "../image/apply_notice.png";
+
+import './index.scss';
+import { useEffect } from "react";
+const Option = Select.Option;
+
+export default Form.create()((props) => {
+ const {form, qzDetail, enrollStatus, setReload, current_user, history} = props;
+ const {getFieldDecorator, validateFields, setFieldsValue} = form;
+ const [members, setMembers] = useState([]);
+ const [errorMessage, setErrorMessage] = useState(undefined);
+ const [sourceBy, setSourceBy] = useState(1);
+ const [visible, setVisible] = useState(false);
+
+ useEffect(()=>{
+ const applyStatus = qzDetail ? Date.parse(new Date()) < Date.parse(new Date(qzDetail.enroll_date)) : true;
+ if((current_user && !current_user.login) || !applyStatus){
+ history.push("/competition/qz2022");
+ }
+ if(enrollStatus && enrollStatus.enroll_status && enrollStatus.status === 0){
+ setMembers(enrollStatus.enroll_info.members);
+ setSourceBy(enrollStatus.enroll_info.subject_source_type);
+ setFieldsValue(enrollStatus.enroll_info);
+ }
+ },[current_user, enrollStatus])
+
+ // form表单公共处理函数
+ const helper = useCallback(
+ (label, name, rules, widget) => (
+
+ {getFieldDecorator(name, { rules, validateFirst: true })(widget)}
+
+ ),
+ []
+ );
+
+ // 当用户输入结束时 检验用户输入是否符合规范
+ function verify(dataIndex){
+ validateFields([dataIndex],(error, values)=>{
+ if(error && error[dataIndex]){
+ return;
+ }
+ })
+ }
+
+ // 检查用户填写信息
+ function checkInfo(){
+ setErrorMessage(undefined);
+ // 检查用户输入的成员属性是否完全
+ if(members.length > 0){
+ let all = 0;
+ const len = qzDetail && qzDetail.is_local ? 5:3;
+ // 用户输入的长度是否满足要求
+ let sizes = 0;
+ members.map(item=>{
+ const valuesLen = Object.values(item);
+ const nullMap = valuesLen.filter(i=>{return i.length === 0}).length;
+ if(nullMap === valuesLen.length-1 || (valuesLen.length === len && nullMap === 0)){
+ // 通过的情况
+ all+=1;
+ }
+ valuesLen.filter(i=>{return i.length > 32}).length > 0 && (sizes+=1);
+ })
+ if(members.length !== all){
+ setErrorMessage("成员信息未填写完成");
+ return;
+ }
+ if(sizes>0){
+ setErrorMessage("成员信息填写不规范");
+ return;
+ }
+ }
+ validateFields((error, values)=>{
+ if(error){
+ return
+ }else{
+ setVisible(true);
+ }
+ })
+ }
+
+ //提交报名信息
+ function applySubmit(){
+ validateFields((error, values)=>{
+ if(error){
+ return
+ }else{
+ // 用户输入正确 报名该竞赛
+ const params = {
+ ...values,
+ members,
+ subject_source_type: sourceBy,
+ }
+ // enrollStatus.enroll_status判断用户是首次提交资料还是修改资料
+ if(enrollStatus && !enrollStatus.enroll_status){
+ enrollCompetition(params).then(response=>{
+ if(response && response.data.message === "success"){
+ setReload(Math.random());
+ message.success('报名成功')
+ }else{
+ message.error(response.message);
+ }
+ setVisible(false);
+ })
+ }else{
+ enrollUpdate(params).then(response=>{
+ if(response && response.data.message === "success"){
+ setReload(Math.random());
+ message.success('资料修改成功');
+ }else{
+ message.error(response.message);
+ }
+ setVisible(false);
+ })
+ }
+ }
+ })
+ }
+
+ // 计划支持 未输入课题来源报错
+ function errorSource(rule, value, callback){
+ if(sourceBy === 1 && !value){
+ // 计划支持 必须输入课题名称
+ callback('请正确输入课题来源');
+ }else{
+ callback();
+ }
+ }
+
+ return (
+
+
+
报名
+

+
+
+

+ 个人信息
+
+
+
+

+ 报名成功
+
+
+

+
+ {!(enrollStatus && enrollStatus.enroll_status) &&
+

+ 请认真核对报名信息,务必与线下报名表信息一致!
+
}
+
+
{!(enrollStatus && enrollStatus.enroll_status) && '填写'}报名信息
+ {/* 报名表单 */}
+ {
+ enrollStatus && (!enrollStatus.enroll_status || enrollStatus.status === 0) &&
+
}
+ {/* 已报名,报名信息 */}
+ {enrollStatus && enrollStatus.enroll_status && enrollStatus.status !== 0 &&
+
+
参赛单位 : {enrollStatus && enrollStatus.enroll_info.org_name}
+
参赛团队负责人姓名 : {enrollStatus && enrollStatus.enroll_info.leader}
+ {qzDetail && qzDetail.is_local &&
职务 : {enrollStatus && enrollStatus.enroll_info.org_job}
}
+ {qzDetail && qzDetail.is_local &&
{Base64.decode('5Yab6KGU')} : {enrollStatus && enrollStatus.enroll_info.org_rank}
}
+
赛区 : {enrollStatus && enrollStatus.enroll_info.zone}
+
赛项 : {enrollStatus && enrollStatus.enroll_info.sub_competition}
+ {qzDetail && qzDetail.is_local &&
课题来源 : {enrollStatus && enrollStatus.enroll_info.subject_source_type === 0 ? "自主提报" : enrollStatus.enroll_info.subject_source_name}
}
+
电话 : {enrollStatus && enrollStatus.enroll_info.phone}
+
成员 : {enrollStatus && enrollStatus.enroll_info.members && enrollStatus.enroll_info.members.map(item=>{return item.real_name + ','})}
+
}
+
+ {enrollStatus && (!enrollStatus.enroll_status || enrollStatus.status === 0) &&
}
+
{setVisible(false)}}
+ centered
+ wrapClassName="applyInfoCon"
+ cancelText=""
+ >
+ 确定提交报名信息
+ 提交后报名信息将无法修改!
+
+
+ )
+})
\ No newline at end of file
diff --git a/src/military/qz2022/apply/index.scss b/src/military/qz2022/apply/index.scss
new file mode 100644
index 00000000..882dc96e
--- /dev/null
+++ b/src/military/qz2022/apply/index.scss
@@ -0,0 +1,184 @@
+.step{
+ display: flex;
+ align-items: center;
+ margin: 30px 0 40px;
+ .left_tit{
+ height: 20px;
+ line-height: 19px;
+ margin-right: 120px;
+ border-left: 4px solid #2e5bfe;
+ }
+ .step_icon{
+ width: 34px;
+ }
+ .border_dashed{
+ width: 225px;
+ margin: 0 12px;
+ border-bottom: 1px dashed #bac1c9;
+ }
+ .img_span{
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ margin-top: 25px;
+ }
+}
+.apply_tip{
+ background-color:#fff5eb;
+ border:1px solid #ffa13a;
+ padding: 10px 0 10px 20px;
+ color:#ffa13a;
+ margin-bottom: 20px;
+ .apply_notice{
+ width: 16px;
+ margin-right: 10px;
+ }
+}
+.apply_information{
+ background-color:#ffffff;
+ border-radius:4px;
+ box-shadow:0px 3px 12px #ecf0ff;
+ padding-bottom: 1px;
+ .info_head{
+ border-bottom: 1px solid #eee;
+ padding: 12px 30px;
+ }
+ .info_form{
+ padding: 8px 0 30px 30px;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ .ant-form-item{
+ display: inline-block;
+ width: 33%;
+ margin-right: 160px;
+ margin-bottom: 0px;
+ .ant-input:hover{border-color:#2e5bfe;}
+ }
+ .class_from{
+ position: relative;
+ display: inline-block;
+ width: 46.5%;
+ }
+ .class_from .ant-form-item{
+ width: 71%;
+ }
+ .class_from>.ant-radio-group{
+ position: absolute;
+ left: 36%;
+ top: 10px;
+ }
+ .class_from>span{
+ position: absolute;
+ left: 0%;
+ top: 10px;
+ }
+ .class_from .ant-form-item-children{
+ top: 38px;
+ }
+ .class_from .ant-form-explain{
+ position: absolute;
+ top: 78px;
+ }
+ }
+ .info{
+ border: 0.5px solid rgba(153, 153, 153, 0.3);
+ margin: 20px 70px 30px 25px;
+ div{
+ display: inline-block;
+ width: 50%;
+ border-right: 1px solid rgba(153, 153, 153, 0.3);
+ border-bottom: 1px solid rgba(153, 153, 153, 0.3);
+ height: 44px;
+ padding-left: 40px;
+ line-height: 44px;
+ }
+ .ellipsis_div{width: 100%;}
+ .info_bottom{border-bottom: none;}
+ .info-right{border-right: none;}
+ & div:last-child{
+ border-right: none;
+ border-bottom: none;
+ }
+ }
+ .edit_table{
+ width: 100%;
+ }
+ .apply_team{
+ color: red;
+ .add_member{
+ padding: 0 12px;
+ margin: 10px 0 20px;
+ border-radius:4px;
+ }
+ .member_info{
+ padding-right: 160px;
+ }
+ .member_info .ant-table{
+ margin-top: 20px;
+ .ant-form-item{
+ width: 76%;
+ margin: 0 0 10px 0;
+ position: relative;
+ }
+ .ant-form-item .has-error .ant-form-explain{
+ font-size: 12px;
+ position: absolute;
+ }
+ }
+ .ant-table-thead > tr > th, .ant-table-tbody > tr > td{
+ padding: 12px 16px;
+ text-align: left;
+ }
+ .ant-table-thead > tr > th:first-child, .ant-table-tbody > tr > td:first-child{
+ padding-left: 55px;
+ }
+ .apply_delete{
+ width: 16px;
+ margin-bottom: 12px;
+ &:hover{cursor: pointer;}
+ }
+ }
+ .error_message{
+ color: #f5222d;
+ }
+}
+.apply_but{
+ padding-bottom: 60px;
+ text-align: center;
+ .download, .submit_info{
+ padding: 0 18px;
+ height: 36px;
+ }
+ .download{
+ padding: 0 10px;
+ }
+}
+.applyInfoCon .ant-modal-content{
+ .ant-modal-header{
+ padding: 10px 24px;
+ background-color: #eef1ff;
+ border-bottom:none;
+ }
+ .ant-modal-close{top: 1px !important;}
+ .ant-modal-close-x{font-size: 20px;}
+ .ant-modal-title{
+ font-weight: normal !important;
+ text-align: left;
+ }
+ .ant-modal-body{
+ padding: 50px 50px 40px;;
+ text-align: center;
+ .tipTitle{color: #181818;}
+ }
+ .tips{
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+ .ant-modal-footer{
+ border-top: none;
+ text-align: center;
+ padding-bottom: 40px;
+ }
+}
\ No newline at end of file
diff --git a/src/military/qz2022/chat/index.jsx b/src/military/qz2022/chat/index.jsx
new file mode 100644
index 00000000..7ec93154
--- /dev/null
+++ b/src/military/qz2022/chat/index.jsx
@@ -0,0 +1,44 @@
+import React from "react";
+// import chatSvg from "../image/chat.svg";
+import chatBanner from '../image/chat_banner.png';
+import btn from "../image/btn-right.png";
+import chat1 from '../image/chat1.png';
+import chat2 from '../image/chat2.png';
+import chat3 from '../image/chat3.png';
+import './index.scss';
+import '../../index.scss';
+
+function Chat({ isLoacl }) {
+
+ return (
+
+
+

+
+
交流互动
+
+
集萃群智体会
+
与论坛成员交流比赛经验,分享参赛心得
+
汇聚赛事资讯
+
助您第一时间解读竞赛动态,把握赛事脉搏
+
+
+
+
+
{ window.open(isLoacl ? 'http://www.osredm.jk/forums/theme/76' : 'https://fc.osredm.com/forums/theme/107') }}>
+

+
参赛咨询
+
+
{ window.open(isLoacl ? 'http://www.osredm.jk/forums/theme/77' : 'https://fc.osredm.com/forums/theme/108') }}>
+

+
选手交流
+
+
{ window.open(isLoacl ? 'http://www.osredm.jk/forums/theme/78' : 'https://fc.osredm.com/forums/theme/109') }}>
+

+
专家答疑
+
+
+
+ )
+}
+export default Chat;
\ No newline at end of file
diff --git a/src/military/qz2022/chat/index.scss b/src/military/qz2022/chat/index.scss
new file mode 100644
index 00000000..fd2dc2a4
--- /dev/null
+++ b/src/military/qz2022/chat/index.scss
@@ -0,0 +1,87 @@
+.chat-bg{
+ padding:9rem 0 5rem 0;
+ background-image: url('../image/chat-bg.png');
+ background-size: 100% 100%;
+ .links{
+ display: flex;
+ margin: 30px auto;
+ justify-content: space-between;
+ padding: 20px 120px;
+ background-color: white;
+ div{
+ display: flex;
+ align-items: center;
+ img{
+ width: 54px;
+ margin-right: 15px;
+ }
+ &:hover{
+ color:#2e5bfe;
+ cursor: pointer;
+ }
+ }
+ }
+}
+.chat {
+ margin: 0 auto;
+ padding: 0 1.5rem;
+ background: #fff;
+
+ .chat-left {
+ float: left;
+ position: relative;
+ top: -5rem;
+ width: 56.6%;
+ box-shadow: 0px 3px 8px rgba(219, 227, 255, 0.7) inset;
+ margin-bottom: -3.5rem;
+ padding: 1.25rem;
+ }
+
+ .chat-words {
+ display: inline-block;
+ padding: 1.5rem;
+ }
+ .chat-tit {
+ display: inline-block;
+ font-weight: 700;
+ color: #2e3341;
+ font-size: 1.25rem;
+ line-height: 1rem;
+
+ &::after {
+ content: "";
+ display: inline-block;
+ width: 100%;
+ height: 1px;
+ background-color: #2e5bfe;
+ }
+ }
+ .chat-conten {
+ font-size: 1rem;
+ line-height: 1.625rem;
+ }
+
+ .chat-btn {
+ margin-top:1.5rem;
+ width: 9.5rem;
+ height: 2.5rem;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ border: 2px solid #2e5bfe;
+ background-color: #2e5bfe;
+ cursor: pointer;
+ }
+
+ .detail1 {
+ white-space: nowrap;
+ color: #ffffff;
+ font-size: 1rem;
+ font-weight: 400;
+ margin-left:1em;
+ }
+
+ .iconPlay1 {
+ height: 100%;
+ }
+}
\ No newline at end of file
diff --git a/src/military/qz2022/components/manageEdit.jsx b/src/military/qz2022/components/manageEdit.jsx
new file mode 100644
index 00000000..fb7441e7
--- /dev/null
+++ b/src/military/qz2022/components/manageEdit.jsx
@@ -0,0 +1,97 @@
+import React, { useState, useEffect } from "react";
+import { Button, Form, message, Input } from 'antd';
+import { Link } from "react-router-dom";
+import icon from '../image/notice_breadcrumb.svg';
+import MDEditor from '../../../modules/tpm/challengesnew/tpm-md-editor';
+import { updateQz2022 } from "../api";
+import '../index.scss';
+import '../notice/index.scss';
+import '../notice/detail.scss';
+
+export default Form.create()((props) => {
+ const {form, history, match:{params:{type}}, qzDetail, setReloadDetail, current_user} = props;
+ const {getFieldDecorator, validateFields, setFieldsValue } = form;
+ const [description, setDescription] = useState(qzDetail && type === "introduce" ? (qzDetail && qzDetail.content) : type === "fingerpost" ? (qzDetail && qzDetail.guide) : (qzDetail && qzDetail.about_us));
+ const [errorMessage, setErrorMessage] = useState(undefined);
+ const manageEdit = (qzDetail && qzDetail.is_manager) || (current_user && current_user.admin);
+
+ useEffect(() =>{
+ if(!manageEdit){
+ window.location.href="/403";
+ }
+ }, [manageEdit])
+
+ useEffect(()=>{
+ setDescription(qzDetail && type === "introduce" ? (qzDetail && qzDetail.content) : type === "fingerpost" ? (qzDetail && qzDetail.guide) : (qzDetail && qzDetail.about_us));
+ setFieldsValue({video_url: qzDetail && qzDetail.video_url});
+ }, [qzDetail])
+
+ function submit(){
+ // 判断用户是否输入内容
+ if(!description){
+ setErrorMessage("内容不能为空");
+ return;
+ }
+ validateFields((error, values)=>{
+ if(error){
+ return;
+ }else{
+ // 用户输入正确
+ const info = new Object();
+ info[type === "introduce" ? "content" : type === "fingerpost" ? "guide" : "about_us"] = description;
+ type === "introduce" && (info["video_url"] = values.video_url);
+ const params = {
+ 'competition_info': info,
+ }
+ updateQz2022(params).then(response=>{
+ if(response && response.data.message === "success"){
+ setReloadDetail(Math.random());
+ message.success('更新成功');
+ history.push(`/competition/qz2022/${type}`);
+ }else{
+ message.error(response.message);
+ }
+ })
+ }
+ })
+ }
+ return (
+
+
+
+

+
{type === "introduce" ? "首页" : type === "fingerpost" ? "大赛指南" : "联系我们"}
+
/
+
编辑
+
+
+ {getFieldDecorator("video_url", {
+ rules: [
+ {
+ required: true,
+ message: "请填写视频地址",
+ },
+ ]
+ })()}
+ }
+
+
*内容:
+
{errorMessage}
+
{setDescription(value)}}
+ >
+
+
+
+
+
+
+
+
+ )
+})
\ No newline at end of file
diff --git a/src/military/qz2022/contact/index.jsx b/src/military/qz2022/contact/index.jsx
new file mode 100644
index 00000000..e77bfe51
--- /dev/null
+++ b/src/military/qz2022/contact/index.jsx
@@ -0,0 +1,28 @@
+import React from "react";
+import contactPng from "../image/qz-logo.jpg";
+import RenderHtml from "src/components/render-html";
+import Link from "react-router-dom/Link";
+import { Button } from "antd";
+import './index.scss';
+import '../../index.scss';
+
+function Contact({ aboutUs, qzDetail, current_user }) {
+ const manageEdit = (qzDetail && qzDetail.is_manager) || (current_user && current_user.admin);
+ const is_local= qzDetail &&qzDetail.is_local;
+ console.log(is_local);
+ return (
+
+ {manageEdit &&
+
+
}
+
+ { !is_local&&

}
+
+
+
+
+
+
+ )
+}
+export default Contact;
\ No newline at end of file
diff --git a/src/military/qz2022/contact/index.scss b/src/military/qz2022/contact/index.scss
new file mode 100644
index 00000000..034e2bad
--- /dev/null
+++ b/src/military/qz2022/contact/index.scss
@@ -0,0 +1,44 @@
+.contact-bg{
+ padding:2rem 0;
+ background-image: url('../image/chat-bg.png');
+ background-size:100% 100%;
+}
+.contact {
+ margin: 0 auto;
+ padding:1rem 3rem;
+ background: #fff;
+ display: flex;
+ justify-content: space-around;
+ align-items: center;
+
+ .contact-png{
+ max-width: 50%;
+ margin-right:1rem;
+ float: left;
+ }
+
+ .contact-tit{
+ position: absolute;
+ top:40%;
+ width: 100%;
+ text-align: center;
+ color: #fff;
+ font-size: 1.25rem;
+ font-weight: 700;
+ }
+ .contact-words {
+ position: relative;
+ .manageEdit{
+ position: absolute;
+ bottom: -20px;
+ }
+ }
+
+ .contact-content {
+ font-size: 1rem;
+ line-height: 2rem;
+ margin-bottom: 1rem;
+ // height: 16rem;
+ overflow: visible;
+ }
+}
diff --git a/src/military/qz2022/editTable/index.jsx b/src/military/qz2022/editTable/index.jsx
new file mode 100644
index 00000000..a11f637d
--- /dev/null
+++ b/src/military/qz2022/editTable/index.jsx
@@ -0,0 +1,206 @@
+import React, { useState, useCallback, useMemo, useEffect } from "react";
+import { Table, Input, Button, Popconfirm, Form } from 'antd';
+import { Base64 } from 'js-base64';
+
+import './index.scss';
+import apply_delete from "../image/apply_delete.png";
+
+const EditableContext = React.createContext();
+
+const EditableRow = ({ form, index, ...props }) => (
+
+
+
+);
+
+const EditableFormRow = Form.create()(EditableRow);
+
+class EditableCell extends React.Component {
+
+ save = (dataIndex, e) => {
+ const { record, handleSave } = this.props;
+ this.form.validateFields([dataIndex],(error, values) => {
+ handleSave({ ...record, ...values });
+ if (error && error[e.currentTarget.id]) {
+ return;
+ }
+ });
+ };
+
+ renderCell = form => {
+ this.form = form;
+ const {record, dataIndex, title } = this.props;
+ return
+ {form.getFieldDecorator(dataIndex, {
+ rules: [
+ {required: true,message: `${title}不能为空.`,},
+ {max: 32, message: '超出限制长度32位字符,请重新编辑' }
+ ],
+ validateFirst: true,
+ initialValue: record[dataIndex],
+ })({this.save(dataIndex,e)}} onBlur={(e)=>{this.save(dataIndex,e)}} placeholder="请输入"/>)}
+
+ };
+
+ render() {
+ const {
+ editable,
+ dataIndex,
+ title,
+ record,
+ index,
+ handleSave,
+ children,
+ ...restProps
+ } = this.props;
+ return (
+
+ {editable ? (
+ {this.renderCell}
+ ) : (
+ children
+ )}
+ |
+ );
+ }
+}
+
+class EditableTable extends React.Component {
+ constructor(props) {
+ super(props);
+ this.columns = [
+ {
+ title: '姓名',
+ dataIndex: 'real_name',
+ editable: true,
+ width: "40%"
+ },
+ {
+ title: '单位',
+ dataIndex: 'org_name',
+ editable: true,
+ width: '50%',
+ },
+ {
+ title: '操作',
+ dataIndex: 'operation',
+ width: '10%',
+ render: (text, record) =>
+ this.state.dataSource.length >= 1 ? (
+ this.handleDelete(record.key)}>
+
+
+ ) : null,
+ },
+ ];
+ if(props.isLocal){
+ this.columns = [{
+ title: '姓名',
+ dataIndex: 'real_name',
+ editable: true,
+ },
+ {
+ title: '单位',
+ dataIndex: 'org_name',
+ editable: true,
+ width: '30%',
+ },{
+ title: '职务',
+ dataIndex: 'org_job',
+ editable: true,
+ },
+ {
+ title: Base64.decode('5Yab6KGU'),
+ dataIndex: 'org_rank',
+ editable: true,
+ },
+ {
+ title: '操作',
+ dataIndex: 'operation',
+ width: '10%',
+ render: (text, record) =>
+ this.state.dataSource.length >= 1 ? (
+ this.handleDelete(record.key)}>
+
+
+ ) : null,
+ },];
+ }
+ this.state = {
+ dataSource: this.props.members,
+ count: this.props.members.length,
+ };
+ }
+
+ handleDelete = key => {
+ const dataSource = [...this.state.dataSource];
+ const newData = dataSource.filter(item => item.key !== key);
+ this.setState({ dataSource: newData });
+ this.props.setMembers(newData);
+ };
+
+ handleAdd = () => {
+ const { count, dataSource } = this.state;
+ const newData = {
+ key: count,
+ };
+ this.setState({
+ dataSource: [...dataSource, newData],
+ count: count + 1,
+ });
+ };
+
+ handleSave = row => {
+ const newData = [...this.state.dataSource];
+ const index = newData.findIndex(item => row.key === item.key);
+ const item = newData[index];
+ newData.splice(index, 1, {
+ ...item,
+ ...row,
+ });
+ this.setState({ dataSource: newData });
+ this.props.setMembers(newData);
+ };
+
+ render() {
+ const { dataSource } = this.state;
+ const components = {
+ body: {
+ row: EditableFormRow,
+ cell: EditableCell,
+ },
+ };
+ const columns = this.columns.map(col => {
+ if (!col.editable) {
+ return col;
+ }
+ return {
+ ...col,
+ onCell: record => ({
+ record,
+ editable: col.editable,
+ dataIndex: col.dataIndex,
+ title: col.title,
+ handleSave: this.handleSave,
+ }),
+ };
+ });
+ return (
+
+
+
+
'editable-row'}
+ dataSource={dataSource}
+ columns={columns}
+ />
+
+
+ );
+ }
+}
+
+export default EditableTable;
\ No newline at end of file
diff --git a/src/military/qz2022/editTable/index.scss b/src/military/qz2022/editTable/index.scss
new file mode 100644
index 00000000..edc5ac2f
--- /dev/null
+++ b/src/military/qz2022/editTable/index.scss
@@ -0,0 +1,15 @@
+.editable-cell {
+ position: relative;
+}
+
+.editable-cell-value-wrap {
+ padding: 5px 12px;
+ cursor: pointer;
+}
+
+.editable-row .editable-cell-value-wrap {
+ height: 30px;
+ border: 1px solid #d9d9d9;
+ border-radius: 4px;
+ padding: 4px 11px;
+}
\ No newline at end of file
diff --git a/src/military/qz2022/fetch.js b/src/military/qz2022/fetch.js
new file mode 100644
index 00000000..05bef440
--- /dev/null
+++ b/src/military/qz2022/fetch.js
@@ -0,0 +1,11 @@
+
+import javaFetch from '../javaFetch';
+
+
+let settings = localStorage.chromesetting && JSON.parse(localStorage.chromesetting);
+let actionUrl = settings && settings.api_urls && settings.api_urls.task ? settings.api_urls.task : 'https://task.osredm.com';
+const service = javaFetch(actionUrl);
+export const httpUrl = actionUrl;
+export const main_web_site_url = settings && settings.main_web_site_url;
+export const current_main_site_url = settings && settings.current_main_site_url;
+export default service;
\ No newline at end of file
diff --git a/src/military/qz2022/fingerpost/index.jsx b/src/military/qz2022/fingerpost/index.jsx
new file mode 100644
index 00000000..8f217a68
--- /dev/null
+++ b/src/military/qz2022/fingerpost/index.jsx
@@ -0,0 +1,20 @@
+import React from "react";
+import RenderHtml from "src/components/render-html";
+import Link from "react-router-dom/Link";
+import { Button } from "antd";
+
+import './index.scss';
+import '../index.scss';
+
+function Introduce({ qzDetail, current_user}) {
+ const manageEdit = (qzDetail && qzDetail.is_manager) || (current_user && current_user.admin);
+ return (
+
+ {manageEdit &&
+
+
}
+
+
+ )
+}
+export default Introduce;
\ No newline at end of file
diff --git a/src/military/qz2022/fingerpost/index.scss b/src/military/qz2022/fingerpost/index.scss
new file mode 100644
index 00000000..372adab1
--- /dev/null
+++ b/src/military/qz2022/fingerpost/index.scss
@@ -0,0 +1,16 @@
+.fingerpost{
+ padding-top: 30px;
+ min-height: 35vh;
+ background-image: url('../image/f_bg.png');
+ background-repeat: no-repeat;
+ background-size: cover;
+ .fingerpost_head{
+ padding: 30px 0 30px;
+ text-align: center;
+ font-weight: bold;
+ }
+ .fingerpost_cont{
+ padding-bottom: 50px;
+ font-family: 'fangsongGB2312';
+ }
+}
\ No newline at end of file
diff --git a/src/military/qz2022/image/apply_delete.png b/src/military/qz2022/image/apply_delete.png
new file mode 100644
index 00000000..e14b905c
Binary files /dev/null and b/src/military/qz2022/image/apply_delete.png differ
diff --git a/src/military/qz2022/image/apply_down.png b/src/military/qz2022/image/apply_down.png
new file mode 100644
index 00000000..ae5cfdde
Binary files /dev/null and b/src/military/qz2022/image/apply_down.png differ
diff --git a/src/military/qz2022/image/apply_notice.png b/src/military/qz2022/image/apply_notice.png
new file mode 100644
index 00000000..b65e789f
Binary files /dev/null and b/src/military/qz2022/image/apply_notice.png differ
diff --git a/src/military/qz2022/image/apply_one.png b/src/military/qz2022/image/apply_one.png
new file mode 100644
index 00000000..0d4c47d8
Binary files /dev/null and b/src/military/qz2022/image/apply_one.png differ
diff --git a/src/military/qz2022/image/apply_one_active.png b/src/military/qz2022/image/apply_one_active.png
new file mode 100644
index 00000000..69156e80
Binary files /dev/null and b/src/military/qz2022/image/apply_one_active.png differ
diff --git a/src/military/qz2022/image/apply_top.png b/src/military/qz2022/image/apply_top.png
new file mode 100644
index 00000000..9e5ef530
Binary files /dev/null and b/src/military/qz2022/image/apply_top.png differ
diff --git a/src/military/qz2022/image/apply_two.png b/src/military/qz2022/image/apply_two.png
new file mode 100644
index 00000000..995cd429
Binary files /dev/null and b/src/military/qz2022/image/apply_two.png differ
diff --git a/src/military/qz2022/image/apply_two_active.png b/src/military/qz2022/image/apply_two_active.png
new file mode 100644
index 00000000..ff0b3d03
Binary files /dev/null and b/src/military/qz2022/image/apply_two_active.png differ
diff --git a/src/military/qz2022/image/banner.jpg b/src/military/qz2022/image/banner.jpg
new file mode 100644
index 00000000..95f0320f
Binary files /dev/null and b/src/military/qz2022/image/banner.jpg differ
diff --git a/src/military/qz2022/image/banner.png b/src/military/qz2022/image/banner.png
new file mode 100644
index 00000000..ef7e60b1
Binary files /dev/null and b/src/military/qz2022/image/banner.png differ
diff --git a/src/military/qz2022/image/banner_local.jpg b/src/military/qz2022/image/banner_local.jpg
new file mode 100644
index 00000000..66163e16
Binary files /dev/null and b/src/military/qz2022/image/banner_local.jpg differ
diff --git a/src/military/qz2022/image/btn-right.png b/src/military/qz2022/image/btn-right.png
new file mode 100644
index 00000000..0566f17a
Binary files /dev/null and b/src/military/qz2022/image/btn-right.png differ
diff --git a/src/military/qz2022/image/chat-bg.png b/src/military/qz2022/image/chat-bg.png
new file mode 100644
index 00000000..b16020fa
Binary files /dev/null and b/src/military/qz2022/image/chat-bg.png differ
diff --git a/src/military/qz2022/image/chat.svg b/src/military/qz2022/image/chat.svg
new file mode 100644
index 00000000..e3bc3bd5
--- /dev/null
+++ b/src/military/qz2022/image/chat.svg
@@ -0,0 +1,356 @@
+
diff --git a/src/military/qz2022/image/chat1.png b/src/military/qz2022/image/chat1.png
new file mode 100644
index 00000000..44f12cd1
Binary files /dev/null and b/src/military/qz2022/image/chat1.png differ
diff --git a/src/military/qz2022/image/chat2.png b/src/military/qz2022/image/chat2.png
new file mode 100644
index 00000000..b01ba899
Binary files /dev/null and b/src/military/qz2022/image/chat2.png differ
diff --git a/src/military/qz2022/image/chat3.png b/src/military/qz2022/image/chat3.png
new file mode 100644
index 00000000..aaf19180
Binary files /dev/null and b/src/military/qz2022/image/chat3.png differ
diff --git a/src/military/qz2022/image/chat_banner.png b/src/military/qz2022/image/chat_banner.png
new file mode 100644
index 00000000..b1f13370
Binary files /dev/null and b/src/military/qz2022/image/chat_banner.png differ
diff --git a/src/military/qz2022/image/f_bg.png b/src/military/qz2022/image/f_bg.png
new file mode 100644
index 00000000..5d5e626f
Binary files /dev/null and b/src/military/qz2022/image/f_bg.png differ
diff --git a/src/military/qz2022/image/introduce.bak.png b/src/military/qz2022/image/introduce.bak.png
new file mode 100644
index 00000000..974aa1dd
Binary files /dev/null and b/src/military/qz2022/image/introduce.bak.png differ
diff --git a/src/military/qz2022/image/introduce.png b/src/military/qz2022/image/introduce.png
new file mode 100755
index 00000000..369b8524
Binary files /dev/null and b/src/military/qz2022/image/introduce.png differ
diff --git a/src/military/qz2022/image/notice.gif b/src/military/qz2022/image/notice.gif
new file mode 100644
index 00000000..6a38d54d
Binary files /dev/null and b/src/military/qz2022/image/notice.gif differ
diff --git a/src/military/qz2022/image/notice_bj.png b/src/military/qz2022/image/notice_bj.png
new file mode 100644
index 00000000..4edc1c06
Binary files /dev/null and b/src/military/qz2022/image/notice_bj.png differ
diff --git a/src/military/qz2022/image/notice_breadcrumb.svg b/src/military/qz2022/image/notice_breadcrumb.svg
new file mode 100644
index 00000000..c76dc879
--- /dev/null
+++ b/src/military/qz2022/image/notice_breadcrumb.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/military/qz2022/image/qz-logo.jpg b/src/military/qz2022/image/qz-logo.jpg
new file mode 100644
index 00000000..fec8e17e
Binary files /dev/null and b/src/military/qz2022/image/qz-logo.jpg differ
diff --git a/src/military/qz2022/image/refer.svg b/src/military/qz2022/image/refer.svg
new file mode 100644
index 00000000..9727e9e7
--- /dev/null
+++ b/src/military/qz2022/image/refer.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/military/qz2022/image/refer_tip.svg b/src/military/qz2022/image/refer_tip.svg
new file mode 100644
index 00000000..9684cdb9
--- /dev/null
+++ b/src/military/qz2022/image/refer_tip.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/military/qz2022/image/statistics-sum.png b/src/military/qz2022/image/statistics-sum.png
new file mode 100644
index 00000000..c3c90ca2
Binary files /dev/null and b/src/military/qz2022/image/statistics-sum.png differ
diff --git a/src/military/qz2022/image/statistics-work.png b/src/military/qz2022/image/statistics-work.png
new file mode 100644
index 00000000..357f1309
Binary files /dev/null and b/src/military/qz2022/image/statistics-work.png differ
diff --git a/src/military/qz2022/image/statistics.png b/src/military/qz2022/image/statistics.png
new file mode 100644
index 00000000..1a7da951
Binary files /dev/null and b/src/military/qz2022/image/statistics.png differ
diff --git a/src/military/qz2022/index.scss b/src/military/qz2022/index.scss
new file mode 100644
index 00000000..5e471343
--- /dev/null
+++ b/src/military/qz2022/index.scss
@@ -0,0 +1,152 @@
+@font-face {
+ font-family: fangsongGB2312;
+ src: url('./public/fonts/fangsongGB2312.ttf');
+}
+
+@font-face {
+ font-family: fzxbs;
+ src: url('./public/fonts/FZXBSJW.TTF');
+}
+@font-face {
+ font-family: kaitiGB2312;
+ src: url('./public/fonts/kaitiGB2312.ttf');
+}
+// 启智2022主页样式
+.qz_banner {
+ width: 100%;
+}
+.qz2022 {
+ font-size: 1rem;
+ .qz2022-top {
+ width: 100%;
+
+ &.fixed-top {
+ position: fixed;
+ z-index: 100;
+ background: #fff;
+ top:0;
+ & + div{
+ padding-top:3.75rem;
+ }
+ }
+ }
+ .qz2022Menu {
+ height: 2.25rem;
+ // line-height: 2.25rem;
+ position: relative;
+ display: flex;
+ justify-content: space-between;
+ a {
+ color: #2e3341;
+ font-size: 1.1rem;
+ transition: all 0.2s;
+ }
+ li.active {
+ background-color: #fafafa;
+ a {
+ font-weight: 700;
+ color: #2e5bfe;
+ font-size: 1.125rem;
+ }
+ }
+ li.active::before {
+ position: absolute;
+ top: calc(2.25rem + 20px);
+ width: 4.375rem;
+ content: "";
+ height: 2px;
+ background: #4154f1;
+ z-index: 10;
+ }
+ }
+ .menu_border {
+ height: 1px;
+ background-image: linear-gradient(
+ 90deg,
+ #ffffff 0%,
+ #373f5e 43.51%,
+ #373f5e 54.81%,
+ #ffffff 100%
+ );
+ }
+ .qzCont {
+ min-height: 40vh;
+ border-radius: 4px;
+ }
+}
+.qz_manage {
+ .ant-popover-inner-content {
+ padding: 0;
+ }
+ .ant-dropdown-menu-item > a {
+ color: #333;
+ &:hover {
+ color: #4154f1 !important;
+ }
+ }
+}
+.qz_manage:after,
+.qz_manage .after {
+ content: "";
+ display: block;
+ width: 0;
+ height: 0;
+ overflow: hidden;
+ font-size: 0;
+ line-height: 0;
+ border: 9px;
+ border-style: dashed dashed solid dashed;
+ border-color: transparent transparent #fff transparent;
+ position: absolute;
+ left: 51px;
+ top: -16px;
+}
+// 公共样式
+.qz_main {
+ width: 1200px;
+ min-width: 62.5vw;
+ max-width: 98vw;
+ margin: 0 auto;
+}
+.manageEdit{
+ text-align: right;
+ margin-bottom: 10px;
+}
+// 按钮样式
+.but_2e5 {
+ border: none;
+ background-color: #4154f1;
+ padding: 0 14px;
+ height: 36px;
+ border-radius: 4px;
+ span {
+ color: #fff;
+ }
+ &:hover,
+ &:focus {
+ background-color: #4154f1;
+ opacity: 0.9;
+ }
+}
+
+@media screen and (max-width: 1200px) {
+ .qz_main {
+ width: 98vw;
+ }
+}
+
+html {
+ font-size: 16px;
+}
+
+@media screen and (min-width: 1921px) {
+ html {
+ font-size: calc(100% + (100vw - 1921px) / 250);
+ }
+}
+
+@media screen and (min-width: 2880px) {
+ html {
+ font-size: calc(125% + (100vw - 2880px) / 400);
+ }
+}
diff --git a/src/military/qz2022/introduce/index.jsx b/src/military/qz2022/introduce/index.jsx
new file mode 100644
index 00000000..913fd2da
--- /dev/null
+++ b/src/military/qz2022/introduce/index.jsx
@@ -0,0 +1,32 @@
+import React, { useEffect, useState } from "react";
+import Link from "react-router-dom/Link";
+import { Button } from "antd";
+
+import './index.scss';
+import '../index.scss';
+import RenderHtml from "src/components/render-html";
+
+function Introduce({ qzDetail, current_user }) {
+ const manageEdit = (qzDetail && qzDetail.is_manager) || (current_user && current_user.admin);
+ let content= qzDetail&&qzDetail.content;
+ let video_url= qzDetail&&qzDetail.video_url;
+
+ return (
+
+ {manageEdit &&
+
+
}
+
+
+ {/*
*/}
+
+ {/*
*/}
+ {/*
className="info-content"*/}
+
+ {/*
*/}
+
+
+
+ )
+}
+export default Introduce;
\ No newline at end of file
diff --git a/src/military/qz2022/introduce/index.scss b/src/military/qz2022/introduce/index.scss
new file mode 100644
index 00000000..06ffd35c
--- /dev/null
+++ b/src/military/qz2022/introduce/index.scss
@@ -0,0 +1,129 @@
+.introduce_bg{
+ background: #f1f7fc;
+ padding-top: 30px;
+}
+.introduce {
+ width: 100%;
+ background-image: url("../image/introduce.png");
+ background-size: 100% 100%;
+ background-color:#f1f7fc;
+ padding-bottom: 4%;
+
+ .introduce-content {
+ width: 62.5%;
+ height: 100%;
+ margin: 0 auto;
+ // padding: 2.75% 2% 5% 2.5%;
+ padding: 2%;
+ box-sizing: border-box;
+ background: #fff;
+ }
+ .introduce-video {
+ margin-right: 2.2%;
+ min-width: 30%;
+ max-width: 62.5%;
+ float: left;
+ // video {
+ // width: 100%;
+ // max-width: 100%;
+ // max-height: 100%;
+ // }
+ }
+
+ // .introduce-info {
+ // // display: flex;
+ // // flex-direction: column;
+ // // justify-content: center;
+ // // min-width: 35%;
+ // // min-height: 75%;
+ // // position: relative;
+
+
+ // .manageEdit{
+ // text-align: left;
+ // position: absolute;
+ // bottom: -36px;
+ // }
+ // // .info-content{
+ // // height: 25rem;
+ // // overflow: auto;
+ // // // overflow-y: auto;
+ // // }
+
+
+ // p{
+ // text-overflow: -o-ellipsis-lastline;
+ // overflow: hidden;
+ // text-overflow: ellipsis;
+ // display: -webkit-box;
+ // -webkit-line-clamp: 14;
+ // line-clamp: 14;
+ // -webkit-box-orient: vertical;
+ // }
+ // }
+
+ .markdown-body{
+ overflow: visible;
+ }
+
+ .info-tit {
+ font-weight: 700;
+ color: #2e3341;
+ font-size: 1.25rem;
+ letter-spacing: 0.1rem;
+ margin-bottom: 1rem;
+ }
+ .content-item {
+ font-size: 1rem;
+ line-height: 2em;
+ text-indent: 2em;
+ }
+
+
+ @media screen and (min-width: 1800px) {
+ .introduce-video{
+ width: 62.5%;
+ }
+ .introduce-info .markdown-body p{
+ font-size: 18px !important;
+ line-height: 1.4;
+ }
+ }
+
+ @media screen and (min-width: 2500px) {
+ .introduce-info .markdown-body p{
+ font-size: 20px !important;
+ line-height: 1.4;
+ }
+ }
+
+
+ @media screen and (max-width: 1700px) {
+ .info-tit {
+ line-height: 1.5;
+ }
+ .content-item {
+ line-height: 1.5;
+ }
+ }
+
+ @media screen and (max-width: 1400px) {
+ .info-tit {
+ font-size: 1rem;
+ }
+ .content-item {
+ font-size: .9rem;
+ }
+ .introduce-info p{
+ font-size: 14px !important;
+ line-height: 1.4;
+ }
+ }
+
+
+ @media screen and (max-width: 1300px) {
+ .introduce-info .markdown-body p{
+ font-size: 13px !important;
+ }
+ }
+}
diff --git a/src/military/qz2022/management/index.jsx b/src/military/qz2022/management/index.jsx
new file mode 100644
index 00000000..c98965eb
--- /dev/null
+++ b/src/military/qz2022/management/index.jsx
@@ -0,0 +1,285 @@
+import React, { useState, useMemo, useEffect } from "react";
+import { Base64 } from 'js-base64';
+import {Select, Button, Tooltip, Input, Popconfirm, message } from 'antd';
+import {current_main_site_url} from '../fetch';
+import PaginationTable from "../../components/paginationTable";
+
+import './index.scss';
+import '../index.scss';
+import { getQzEnrollList, getQzProList, updateEnroll } from "../api.js";
+const Option = Select.Option;
+const {Search} = Input;
+
+function Introduce({history:{location:{pathname}},qzDetail }) {
+ // 报名列表和作品列表到指向此处,type做区分,0报名,1作品
+ const [type, setType] = useState(pathname.substring(pathname.lastIndexOf('/')+1, pathname.lenght));
+ const [loading, setLoading] = useState(false);
+ const [curPage, setCurPage] = useState(1);
+ const [dataList, setDataList] = useState([]);
+ const [total, setTotal] = useState(0);
+ // 赛区 赛项
+ const [zone, setZone] = useState(undefined);
+ const [subCompetition, setSubCompetition] = useState(undefined);
+ const [keyword, setKeyword] = useState(undefined);
+ const [reload, setReload] = useState(undefined);
+ const [searchValue, setSearchValue] = useState(undefined);
+
+ useEffect(() => {
+ setKeyword(undefined);
+ setSearchValue(undefined);
+ setZone('-1');
+ setSubCompetition('-1');
+ setCurPage(1);
+ setType(pathname.substring(pathname.lastIndexOf('/')+1, pathname.lenght));
+ }, [pathname]);
+
+ useEffect(()=>{
+ setLoading(true);
+ const params = {
+ zone: zone === '-1' ? undefined : zone,
+ sub_competition: subCompetition === '-1' ? undefined : subCompetition,
+ page: curPage,
+ limit: 10,
+ keyword
+ }
+ if(type === "applys"){
+ // 报名列表
+ getQzEnrollList(params).then(response=>{
+ if(response && response.status === 200){
+ setTotal(response.data.count);
+ setDataList(response.data.data);
+ }
+ }).finally(()=>{
+ setLoading(false);
+ })
+ }else{
+ // 提交作品列表
+ getQzProList(params).then(response=>{
+ if(response && response.status === 200){
+ setTotal(response.data.count);
+ setDataList(response.data.data);
+ }
+ }).finally(()=>{
+ setLoading(false);
+ })
+ }
+ }, [type, zone, subCompetition, curPage, keyword, reload])
+
+ // 驳回用户的报名信息
+ function reject(userId, index){
+ const params = {
+ user_id: userId,
+ status: index
+ }
+ updateEnroll(params).then(response=>{
+ if(response && response.status === 200){
+ setReload(Math.random());
+ message.success("操作成功");
+ }
+ })
+ }
+
+ let columns_apply = useMemo(() => {
+ return [
+ {
+ title: '参赛单位',
+ dataIndex: 'org_name',
+ align: 'center'
+ },
+ {
+ title: '参赛负责人',
+ dataIndex: 'leader',
+ key: 'leader',
+ },
+ {
+ title: '电话',
+ dataIndex: 'phone',
+ key: 'phone',
+ },
+ {
+ title: '赛区',
+ dataIndex: 'zone',
+ },
+ {
+ title: '赛项',
+ dataIndex: 'sub_competition'
+ },
+ {
+ title: '成员',
+ dataIndex: 'members',
+ render:(text, record)=>{
+ return '';
+ }
+ },
+ {
+ title: '操作',
+ dataIndex: "status",
+ align: "center",
+ render:(text, record)=>{
+ // status : 0 已驳回
+ return text === 0 ? : }
+ onConfirm={()=>{reject(record.user_id, 0)}}
+ >
+ }
+ }
+ ];
+ }, [qzDetail]);
+
+ const columns_production = useMemo(() => {
+ return [
+ {
+ title: '参赛单位',
+ dataIndex: 'org_name'
+ },
+ {
+ title: '参赛负责人',
+ dataIndex: 'leader',
+ },
+ {
+ title: '赛区',
+ dataIndex: 'zone'
+ },
+ {
+ title: '赛项',
+ dataIndex: 'sub_competition'
+ },
+ {
+ title: '作品',
+ dataIndex: 'attachments',
+ render:(text, record)=>{
+ return {text[0] && text[0].title};
+ }
+ },
+ {
+ title: '操作',
+ dataIndex: "status",
+ align: "center",
+ render:(text, record)=>{
+ return text === 1 ? : }
+ onConfirm={()=>{reject(record.user_id, 1)}}
+ >
+ }
+ }
+ ];
+ }, [qzDetail]);
+
+ // 如果是内网环境,则增加部分字段
+ if(qzDetail && qzDetail.is_local && columns_apply[2].title !== "职务"){
+ // 职务、JXJXJX、课题来源
+ columns_apply.splice(2,0,{
+ title: '职务',
+ dataIndex: 'org_job',
+ key: 'org_job',
+ },
+ {
+ title: Base64.decode('5Yab6KGU'),
+ dataIndex: 'org_rank',
+ key: 'org_rank',
+ },);
+ columns_apply.splice(7,0,
+ {
+ title: '课题来源',
+ dataIndex: 'subject_source_type',
+ render:(text, record)=>{
+ return text === 0 ? "自主提报" : record.subject_source_name || '--';
+ }
+ },)
+ }
+
+ const expandRow = (record) =>{
+ return
+
+
序号
+
姓名
+
单位
+
职务
+
军衔
+
+ {record.members && record.members.map((item, index)=>{
+ return
+
{index+1}
+
{item.real_name}
+
{item.org_name}
+
{item.org_job}
+
{item.org_rank}
+
+ })}
+
+ }
+ // 外网环境下 赛队成员无职务、JXJXJX属性
+ const expandRowWai = (record) =>{
+ return
+
+ {record.members && record.members.map((item, index)=>{
+ return
+
{index+1}
+
{item.real_name}
+
{item.org_name}
+
+ })}
+
+ }
+
+ const customExpandIcon = (props) => {
+ if(props.record.members && props.record.members.length > 0){
+ if (props.expanded) {
+ return {
+ props.onExpand(props.record, e);
+ }}>查看成员
+ } else {
+ return {
+ props.onExpand(props.record, e);
+ }}>查看成员
+ }
+ }else{
+ return 查看成员
+ }
+ }
+
+ return (
+
+
+
启智2022{type === "applys" ? "报名" : "作品"}列表
+
+
+
+ {setSearchValue(e.target.value)}} onSearch={value => {setCurPage(1);setKeyword(value)}} allowClear enterButton style={{width: 300, marginRight: "30px"}}/>
+ 赛区:
+
+ 赛项:
+
+
+
+
+
+
setCurPage(page)}
+ current={curPage}
+ expandedRowRender={qzDetail && qzDetail.is_local ? expandRow : expandRowWai}
+ expandIconColumnIndex={type === "applys" ? qzDetail && qzDetail.is_local ? 8 : 5 : 20}
+ expandIconAsCell={false}
+ expandIcon={customExpandIcon}
+ pageSize={10}/>
+
+ )
+}
+export default Introduce;
\ No newline at end of file
diff --git a/src/military/qz2022/management/index.scss b/src/military/qz2022/management/index.scss
new file mode 100644
index 00000000..287ce72b
--- /dev/null
+++ b/src/military/qz2022/management/index.scss
@@ -0,0 +1,50 @@
+.qz_management{
+ width: 1200px;
+ margin: 35px auto 0;
+ background: #fff;
+ padding-bottom: 20px;
+ .qz_manage_head{
+ color: #181818;
+ padding: 12px 0 13px 30px;
+ border-bottom: 1px solid #eee;
+ }
+ .search {
+ color: #000;
+ display: flex;
+ justify-content: space-between;
+ padding: 20px 30px;
+ .ant-input:hover{
+ border-color: #4154f1;
+ }
+ }
+ .pagination-table.qzManageTable {
+ padding: 0 30px;
+ }
+ .expandRowManage .row div{
+ display: inline-block;
+ text-align: center;
+ padding-top: 15px;
+ width: 20%;
+ margin-right: 20px;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ &.index{width: 10%;}
+ }
+ .expandRowManage .row{
+ border-bottom: 1px solid #ececec;
+ margin: 0 -8px;
+ }
+ .expandRowManage .row:last-child{
+ border-bottom: none;
+ }
+ .attachments_a{
+ color: #2e5bfe;
+ }
+ .qzManageTable .ant-table-tbody > tr > td{
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ max-width: 100px;
+ }
+}
diff --git a/src/military/qz2022/notice/addNotice.jsx b/src/military/qz2022/notice/addNotice.jsx
new file mode 100644
index 00000000..b7c36f7a
--- /dev/null
+++ b/src/military/qz2022/notice/addNotice.jsx
@@ -0,0 +1,111 @@
+import React, { useState, useCallback, useMemo, useEffect } from "react";
+import { Input, Select, Button, Form, message } from 'antd';
+import { Link } from "react-router-dom";
+import { formatDuring } from 'educoder';
+import icon from '../image/notice_breadcrumb.svg';
+import MDEditor from '../../../modules/tpm/challengesnew/tpm-md-editor';
+import './index.scss';
+import './detail.scss';
+import { getNoticeDetail, addQz2022Notice, updateQz2022Notice } from "../api";
+import RenderHtml from "src/components/render-html";
+const Option = Select.Option;
+
+export default Form.create()((props) => {
+ const {form, history, match:{params:{noticeId,type}}, current_user, qzDetail} = props;
+ const {getFieldDecorator, validateFields, setFieldsValue } = form;
+ const [description, setDescription] = useState(undefined);
+ const [errorMessage, setErrorMessage] = useState(undefined);
+ const manageEdit = (qzDetail && qzDetail.is_manager) || (current_user && current_user.admin);
+
+ useEffect(() =>{
+ if(!manageEdit){
+ window.location.href="/403";
+ }
+ }, [manageEdit])
+
+ useEffect(() => {
+ if(noticeId && type === "edit"){
+ getNoticeDetail(noticeId).then(response=>{
+ if(response && response.data.message === "success"){
+ setDescription(response.data.data.content);
+ setFieldsValue({title: response.data.data.title});
+ }else{
+ history.push("/404");
+ }
+ })
+ }
+ }, [type, noticeId]);
+
+ function submit(){
+ // 判断用户是否输入通知内容
+ if(!description){
+ setErrorMessage("通知内容不能为空");
+ }
+ validateFields((error, values)=>{
+ if(error){
+ return
+ }else{
+ // 用户输入正确
+ const params = {
+ ...values,
+ content: description
+ }
+ type === "add" && addQz2022Notice(params).then(response=>{
+ if(response && response.data.message === "success"){
+ message.success('新增成功');
+ history.push('/competition/qz2022/notice');
+ }else{
+ message.error(response.message);
+ }
+ })
+ type === "edit" && updateQz2022Notice(noticeId,params).then(response=>{
+ if(response && response.data.message === "success"){
+ message.success('修改成功');
+ history.push('/competition/qz2022/notice');
+ }else{
+ message.error(response.message);
+ }
+ })
+ }
+ })
+ }
+ return (
+
+
+
+

+
通知公告
+
/
+
{type === 'add' ? '新增' : '编辑'}
+
+
+ {getFieldDecorator("title", {
+ rules: [
+ {
+ required: true,
+ message: "请填写通知标题",
+ },
+ ]
+ })()}
+
+
+
*内容:
+
{errorMessage}
+
{setDescription(value)}}
+ >
+
+
+
+
+
+
+
+
+ )
+})
\ No newline at end of file
diff --git a/src/military/qz2022/notice/detail.jsx b/src/military/qz2022/notice/detail.jsx
new file mode 100644
index 00000000..b3f8d190
--- /dev/null
+++ b/src/military/qz2022/notice/detail.jsx
@@ -0,0 +1,42 @@
+import React, { useState, useCallback, useMemo, useEffect } from "react";
+import { Input, Select, Button, Form, DatePicker, Table, Pagination, Upload, Modal, Breadcrumb } from 'antd';
+import { Link } from "react-router-dom";
+import { formatDuring } from 'educoder';
+import icon from '../image/notice_breadcrumb.svg';
+
+import './index.scss';
+import './detail.scss';
+import { getNoticeDetail } from "../api";
+import RenderHtml from "src/components/render-html";
+const Option = Select.Option;
+
+function NoticeDetail({match:{params:{noticeId}}, history}) {
+ const [detail, setDetail] = useState(undefined);
+
+ useEffect(()=>{
+ noticeId && getNoticeDetail(noticeId).then(response=>{
+ if(response && response.data.message === "success"){
+ setDetail(response.data.data);
+ }else{
+ history.push("/404");
+ }
+ })
+ },[])
+
+ return (
+
+
+
+

+
通知公告
+
/
+
公告详情
+
+
{detail && detail.title}
+
发布时间: {detail && detail.created_at.substring(0,10)}
+
+
+
+ )
+}
+export default NoticeDetail;
\ No newline at end of file
diff --git a/src/military/qz2022/notice/detail.scss b/src/military/qz2022/notice/detail.scss
new file mode 100644
index 00000000..882b782d
--- /dev/null
+++ b/src/military/qz2022/notice/detail.scss
@@ -0,0 +1,24 @@
+.menu_border+.qz2022Menu{
+ display: none;
+}
+
+// 新增、编辑通知公告
+.qz2022_notice_edit{
+ margin-top: 30px;
+ .qzContent .title{
+ span{
+ color: #f5222d;
+ margin-right: 2px;
+ }
+ }
+ .errorMessage{
+ color: #f5222d;
+ &.not{
+ margin-top: -15px;
+ }
+ }
+}
+.qz2022_notice_but{
+ text-align: center;
+ margin: 30px;
+}
\ No newline at end of file
diff --git a/src/military/qz2022/notice/index.jsx b/src/military/qz2022/notice/index.jsx
new file mode 100644
index 00000000..41a201b0
--- /dev/null
+++ b/src/military/qz2022/notice/index.jsx
@@ -0,0 +1,68 @@
+import React, { useState, useEffect } from "react";
+import { Button, Modal, Popover, Menu, message } from 'antd';
+import { Link } from "react-router-dom";
+import notice from '../image/notice.gif';
+import './index.scss';
+import '../../index.scss';
+import { getNoticeList, deleteQz2022Notice } from "../api";
+import RenderHtml from "src/components/render-html";
+
+function Notice({ current_user, qzDetail }) {
+ const manageEdit = (qzDetail && qzDetail.is_manager) || (current_user && current_user.admin);
+ const [noticeList, setNoticeList] = useState([]);
+ const [reload, setReload] = useState(undefined);
+
+ useEffect(() => {
+ getNoticeList().then(response => {
+ if (response.status === 200 && response.data.message === "success") {
+ setNoticeList(response.data.data);
+ }
+ })
+ }, [reload]);
+
+ function deleteNotice(id) {
+ Modal.confirm({
+ title: "是否删除",
+ content: "确定删除此通知公告?",
+ onOk() {
+ deleteQz2022Notice(id).then(response => {
+ if (response.status === 200 && response.data.message === "success") {
+ setReload(Math.random());
+ message.success("删除成功");
+ }
+ })
+ }
+ })
+ }
+
+ return (
+
+ {manageEdit &&
+
+
}
+
+ {noticeList && noticeList.map(item => {
+ return
+
+
+
+
+ {/* */}
+
{item.updated_at.substring(0, 10)}
+
+ })}
+
+
+ )
+}
+export default Notice;
\ No newline at end of file
diff --git a/src/military/qz2022/notice/index.scss b/src/military/qz2022/notice/index.scss
new file mode 100644
index 00000000..42591864
--- /dev/null
+++ b/src/military/qz2022/notice/index.scss
@@ -0,0 +1,87 @@
+.qz_notice{
+ min-height: 445px;
+ &.bg{
+ background-image: url('../image/notice_bj.png');
+ background-position: center center;
+ background-size: cover;
+ background-repeat: no-repeat;
+ }
+ .qz_main.not {
+ padding-bottom: 60px;
+ }
+ >.qz_main.notice_detal{
+ min-height: 65vh;
+ >.breadCrumb .icon_d{margin-top: -4px;}
+ }
+ .qz_notice_cont{
+ background-color:#ffffff;
+ border-radius:4px;
+ box-shadow:0px 3px 12px #ecf0ff;
+ padding: 18px 30px 25px 20px;
+ color:#2e3341;
+ margin-top: 30px;
+ .head{
+ display: flex;
+ padding-bottom: 10px;
+ margin-bottom: 10px;
+ border-bottom: 1px solid rgba(153, 153, 153, 0.2);
+ justify-content: space-between;
+ >span{cursor: pointer;}
+
+ .notice-new{
+ position: relative;
+ top:8px;
+ }
+ }
+ .notCont_head{
+ font-weight:bold;
+ color:#2e5bfe;
+ cursor: pointer;
+ &.border{
+ border-bottom: 1px solid rgba(153, 153, 153, 0.2);
+ padding-bottom: 10px;
+ margin-bottom: 15px;
+ }
+ }
+ >p{
+ text-align: right;
+ color:#666666;
+ }
+ >.font-15{
+ padding-bottom: 15px;
+ }
+ .cont{
+ cursor: pointer;
+ }
+ }
+ ._999{
+ color: #999;
+ &:hover{color: #2e5bfe;}
+ }
+ ._1818{color: #181818;}
+ // 详情页样式
+ .notice_title{
+ text-align: center;
+ font-weight:bold;
+ margin: 60px 0 30px;
+ }
+ .notice_time{
+ color:#2e3341;
+ text-align: right;
+ padding-bottom: 10px;
+ margin-bottom: 20px;
+ border-bottom: 1px dashed #979797;
+ }
+ .notice_small_title{
+ font-weight:bold;
+ margin-top: 30px;
+ }
+ .last_de{
+ padding-bottom: 40px;
+ margin-bottom: 50px;
+ border-bottom: 1px dashed #979797;
+ }
+}
+.edit .ant-popover-inner-content{
+ padding: 0;
+}
\ No newline at end of file
diff --git a/src/military/qz2022/notice/static.js b/src/military/qz2022/notice/static.js
new file mode 100644
index 00000000..e69de29b
diff --git a/src/military/qz2022/public/fonts/FZXBSJW.TTF b/src/military/qz2022/public/fonts/FZXBSJW.TTF
new file mode 100644
index 00000000..ac27db79
Binary files /dev/null and b/src/military/qz2022/public/fonts/FZXBSJW.TTF differ
diff --git a/src/military/qz2022/public/fonts/fangsongGB2312.ttf b/src/military/qz2022/public/fonts/fangsongGB2312.ttf
new file mode 100755
index 00000000..16eb427c
Binary files /dev/null and b/src/military/qz2022/public/fonts/fangsongGB2312.ttf differ
diff --git a/src/military/qz2022/public/fonts/kaitiGB2312.ttf b/src/military/qz2022/public/fonts/kaitiGB2312.ttf
new file mode 100644
index 00000000..ece2ac2c
Binary files /dev/null and b/src/military/qz2022/public/fonts/kaitiGB2312.ttf differ
diff --git a/src/military/qz2022/refer/index.jsx b/src/military/qz2022/refer/index.jsx
new file mode 100644
index 00000000..ae8cd021
--- /dev/null
+++ b/src/military/qz2022/refer/index.jsx
@@ -0,0 +1,145 @@
+import React, { useState, useEffect } from "react";
+import {Prompt} from 'react-router-dom'
+import {Select, Button, Upload, Modal, Icon, message } from 'antd';
+import { appendFileSizeToUploadFileAll } from 'educoder';
+import {current_main_site_url} from '../fetch.js';
+import {uploadCompetition} from '../api';
+import refer from "../image/refer.svg";
+
+import './index.scss';
+import '../../index.scss';
+import '../apply/index.scss';
+
+function Introduce({ form, showNotification, match, history, enrollStatus, current_user, qzDetail, setReload}) {
+ // 上传文件时 按钮loading效果
+ const [loading, setLoading] = useState(false);
+ const [files, setFiles] = useState();
+ // 用户是否更改上传的作品列表
+ const [changeFiles, setChangeFiles] = useState(false);
+ const [visible, setVisible] = useState(false);
+
+ window.onbeforeunload = function (e) {
+ if(changeFiles){
+ e.returnValue = "离开此页面将不保留已上传的作品文件,确定离开?";
+ }
+ }
+
+ useEffect(()=>{
+ // referStatus : 当前时间不处于提案提交时间
+ const referStatus = qzDetail && !(Date.parse(new Date()) > Date.parse(new Date(qzDetail.enroll_date)) && Date.parse(new Date()) < Date.parse(new Date(qzDetail.upload_date)));
+ // 当前时间不处于提案提交时间 或者用户未登录情况下 或者用户未报名 通过URL访问此页面,跳转到大赛介绍页面 或者用户报名信息被驳回未处理(enrollStatus.status = 0)
+ if(referStatus || (current_user && !current_user.login) || (enrollStatus && (!enrollStatus.enroll_status || enrollStatus.status === 0))){
+ history.push("/competition/qz2022");
+ }
+ },[qzDetail, current_user, enrollStatus])
+
+ useEffect(() => {
+ if(enrollStatus && enrollStatus.upload_status){
+ enrollStatus.attachments.map(item=>{
+ item.uid = 'rc-upload'+item.id;
+ item.name = item.title;
+ item.status = "done";
+ });
+ setFiles(enrollStatus.attachments);
+ }
+ }, [enrollStatus]);
+
+ function handleChange(info) {
+ if (info.file.status === 'uploading' || info.file.status === "done" || info.file.status === 'removed') {
+ setLoading(true);
+ setFiles(appendFileSizeToUploadFileAll(info.fileList).slice(-1))
+ }
+ if(info.file.status === "done" || info.file.status === 'removed'){
+ setLoading(false);
+ setChangeFiles(true);
+ }
+ }
+
+ // 支持文件下载
+ function download(file){
+ const fileId = file.id || file.response.id;
+ window.open(`${current_main_site_url}/api/attachments/${fileId}`);
+ }
+
+ // 进行文件大小检查
+ function beforeUpload(file){
+ const isZip = file.name.endsWith(".zip") || file.name.endsWith(".tar") || file.name.endsWith(".rar");
+ if(!isZip){
+ showNotification(`只能上传压缩包文件`);
+ }
+ const isLt100M = file.size / 1024 / 1024 < 1024;
+ if (!isLt100M) {
+ showNotification(`文件大小必须小于${1024}MB!`);
+ }
+ return isLt100M && isZip;
+ }
+
+ // 作品提交
+ function referProduction(){
+ if(files && files.length === 1){
+ const params = {
+ "attachment_ids": [files[0].response.id]
+ }
+ uploadCompetition(params).then(response=>{
+ if(response && response.status === 200){
+ setChangeFiles(false);
+ setReload(Math.random());
+ setVisible(false);
+ message.success('提交作品成功');
+ }else{
+ message.error(response.data.message);
+ }
+ })
+ }
+ }
+ // 是否允许用户上传作品
+ const upload = enrollStatus && (!enrollStatus.upload_status || enrollStatus.status === 1);
+ return (
+
+ {
+ changeFiles &&
+
'离开此页面将不保留已上传的作品文件,确定离开?'}
+ />
+ }
+
+

+
,
+ showRemoveIcon: false
+ }}
+ >
+
+
+
+ {enrollStatus && enrollStatus.upload_status && enrollStatus.status === 1 &&
您的作品被打回,可以再次提交作品,未重新提交前保留您原来的提交记录。
}
+
上传单个作品压缩包(仅限上传一个压缩包)
+
+
+
+ {setVisible(false)}}
+ centered
+ wrapClassName="applyInfoCon"
+ cancelText=""
+ >
+ 确定提交作品
+ 提交后作品文件将无法修改!
+
+
+ )
+}
+export default Introduce;
\ No newline at end of file
diff --git a/src/military/qz2022/refer/index.scss b/src/military/qz2022/refer/index.scss
new file mode 100644
index 00000000..51656039
--- /dev/null
+++ b/src/military/qz2022/refer/index.scss
@@ -0,0 +1,53 @@
+.refer_bg{
+ padding: 40px 0 60px;
+}
+.refer{
+ background-color:white;
+ // border:1px solid rgba(46, 91, 254, 0.37);
+ border-radius:4px 4px 0px 0px;
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ padding: 66px 0 86px;
+ .refer_img{
+ width: 48px;
+ }
+ .upload{
+ padding: 0 28px;
+ }
+ .refer_tip{
+ color:#595959;
+ font-size:15px;
+ &.cover{
+ color: red;
+ margin-bottom: -20px;
+ }
+ &.cover .icon-erciqueren_icon{
+ color: #FA2D2D;
+ }
+ }
+ .refer_bor{
+ width: 40vw;
+ border-bottom: 1px solid #eeeeee;
+ margin: 25px 0 35px;
+ }
+ >span{
+ text-align: center;
+ }
+ .ant-upload-list-item-info{
+ color: #2e5bfe;
+ :hover{color: #2e5bfe;}
+ .ant-upload-list-item-card-actions{
+ right: -55px;
+ .anticon{padding-right: 10px;}
+ }
+ & a:link{
+ color: #2e5bfe;
+ }
+ }
+ .ant-upload-list-item:hover .ant-upload-list-item-info{background: none;}
+ .ant-upload-list-item{
+ text-overflow: ellipsis;
+ max-width: 46vw;
+ }
+}
\ No newline at end of file
diff --git a/src/military/qz2022/static.js b/src/military/qz2022/static.js
new file mode 100644
index 00000000..f0e9b1aa
--- /dev/null
+++ b/src/military/qz2022/static.js
@@ -0,0 +1,3 @@
+
+// 启智2022所有的路由后缀
+export const paths = ["qz2022","introduce", "fingerpost", "notice", "apply", "refer", "statistics", "chat", "contact", "applys", "production",""]
\ No newline at end of file
diff --git a/src/military/qz2022/statistics/EchartBar/index.jsx b/src/military/qz2022/statistics/EchartBar/index.jsx
new file mode 100644
index 00000000..c72de6f8
--- /dev/null
+++ b/src/military/qz2022/statistics/EchartBar/index.jsx
@@ -0,0 +1,262 @@
+import React, { useEffect } from 'react';
+import * as echarts from 'echarts';
+
+let fontSizeText = 16;
+let clientWidth = document.body.clientWidth;
+if (clientWidth < 1000) {
+ fontSizeText = 16
+} else if (clientWidth >= 1000 && clientWidth <= 2000) {
+ fontSizeText = 14 + (clientWidth - 1000) / 500;
+} else if (clientWidth > 2000) {
+ fontSizeText = 16 + (clientWidth - 2000) / 500;
+} else if (clientWidth > 3000) {
+ fontSizeText = 18 + (clientWidth - 3000) / 2000;
+}
+let fontSizeTitle = 1.25 * fontSizeText;
+
+const colorArr0 = ['rgba(226, 217, 255, 1)', 'rgba(254, 230, 147, 1)', 'rgba(187, 217, 255, 1)'];
+const colorArr1 = ['rgba(189, 170, 255, 1)', 'rgba(251, 184, 103, 1)', 'rgba(112, 159, 255, 1)'];
+
+export default ({ id, className, title, legendArr, xData, yData }) => {
+
+ useEffect(() => {
+ let newEchartBar = document.getElementById(id) && echarts.init(document.getElementById(id));
+ let textColor = "#7988a5";
+ let normalColor = "#e8e8ed";
+
+ let colors = [
+ {
+ type: 'linear',
+ x: 0, x2: 1, y: 0, y2: 0,
+ colorStops: [{
+ offset: 0,
+ color: colorArr0[0]//'#218bd1'
+ }, {
+ offset: 0.5,
+ color: colorArr0[0]//'#7EC3F0'
+ }, {
+ offset: 0.5,
+ color: colorArr1[0]// '#1985cd'
+ }, {
+ offset: 1,
+ color: colorArr0[0]//'#1985cd'
+ }]
+ },
+ {
+ type: 'linear',
+ x: 0, x2: 1, y: 0, y2: 0,
+ colorStops: [{
+ offset: 0,
+ color: colorArr0[1]//'#6DD4E5'
+ }, {
+ offset: 0.5,
+ color: colorArr0[1]//'#6DD4E5'
+ }, {
+ offset: 0.5,
+ color: colorArr1[1]//'#0EADC9'
+ }, {
+ offset: 1,
+ color: colorArr0[1]//'#218bd1'
+ }]
+ },
+ {
+ type: 'linear',
+ x: 0, x2: 1, y: 0, y2: 0,
+ colorStops: [{
+ offset: 0,
+ color: colorArr0[2]//'#acace6'
+ }, {
+ offset: 0.5,
+ color: colorArr0[2]//'#acace6'
+ }, {
+ offset: 0.5,
+ color: colorArr1[2]//'#6161bd'
+ }, {
+ offset: 1,
+ color: colorArr0[2]//'#6161bd'
+ }]
+ }
+ ];
+
+
+ let barWidth = 25;
+
+ let option = {
+ grid: {
+ left: "3%",
+ top: "12%",
+ right: "8%",
+ bottom: '5%',
+ containLabel: true
+ },
+ title: {
+ text: title,
+ fontSize: fontSizeTitle,
+ position: 'inside',
+ textStyle: {
+ color: textColor
+ }
+ },
+ tooltip: {
+ trigger: "axis",
+ axisPointer: {
+ // type: "shadow",
+ // textStyle: {
+ // color: "#fff"
+ // }
+ type: 'line',
+ lineStyle: {
+ type: 'dotted'
+ },
+ },
+ backgroundColor: 'rgba(255,255,255,0.8)',
+ textStyle: {
+ color: "#333"
+ },
+ formatter: function (params) {
+ let paramsData = params.filter(i => { return i.seriesType === 'bar' });
+ // console.log(params);
+ return (
+ paramsData[0].name +
+ '
' +
+ paramsData[0].marker +
+ paramsData[0].seriesName +
+ ':' +
+ paramsData[0].value +
+ '
' +
+ paramsData[1].marker +
+ paramsData[1].seriesName +
+ ':' +
+ paramsData[1].value +
+ '
' +
+ paramsData[2].marker +
+ paramsData[2].seriesName +
+ ':' +
+ paramsData[2].value
+ )
+ }
+ },
+ legend: {
+ data: legendArr,
+ top: '2%',
+ right: "8%",
+ fontSize: fontSizeText,
+ },
+ xAxis: [{
+ type: "category",
+ name: '分赛区',
+ data: xData,
+ // axisPointer: {
+ // type: "shadow"
+ // },
+ axisLabel: {
+ textStyle: {
+ color: textColor,
+ fontSize: .75 * fontSizeText
+ },
+ interval: 0,
+ // rotate: 40
+ },
+ axisLine: {
+ lineStyle: {
+ color: textColor
+ }
+ },
+ axisTick: {
+ show: false
+ },
+ splitLine: {
+ show: false
+ }
+ }],
+ yAxis: [{
+ type: "value",
+ name: '报名数',
+ minInterval: 1,
+ nameTextStyle: {
+ color: textColor,
+ fontSize: fontSizeText
+ },
+ axisLabel: {
+ formatter: "{value}",
+ textStyle: {
+ color: textColor,
+ fontSize: fontSizeText
+ }
+ },
+ axisLine: {
+ lineStyle: {
+ color: normalColor
+ }
+ },
+ axisTick: {
+ show: false
+ },
+ splitLine: {
+ // show: false,
+ lineStyle: {
+ color: normalColor,
+ type: 'dotted',
+ }
+ },
+ }],
+ series: []
+ };
+ yData.forEach((data, i) => {
+ option.series.push({
+ z: 1,
+ name: legendArr[i],
+ type: "bar",
+ index: i,
+ data,
+ barWidth: barWidth,
+ itemStyle: {
+ normal: {
+ color: colors[i]
+ }
+ },
+ });
+
+ // option.series.push({
+ // z: 2,
+ // name: legendArr[i] + '下',
+ // type: 'pictorialBar',
+ // data,
+ // symbol: 'diamond',
+ // symbolOffset: [(i - 1) * 150 + '%', '50%'],
+ // symbolSize: [barWidth - 4, 10 * (barWidth - 4) / barWidth],
+ // itemStyle: {
+ // normal: {
+ // borderWidth: 0,
+ // color: colorArr1[i]
+ // }
+ // },
+ // });
+
+ option.series.push({
+ z: 100,
+ name: legendArr[i] + '上',
+ type: 'pictorialBar',
+ symbolPosition: 'end',
+ data,
+ symbol: 'diamond',
+ symbolOffset: [(i - 1) * 130 + '%', '-50%'],
+ symbolSize: [barWidth, 10 * (barWidth - 3) / barWidth],
+ itemStyle: {
+ normal: {
+ borderWidth: 0,
+ color: colorArr0[i]
+ }
+ }
+ });
+
+ });
+
+ newEchartBar && newEchartBar.setOption(option);
+ }, [id, title, xData, yData])
+
+ return (
+
+
+ )
+}
\ No newline at end of file
diff --git a/src/military/qz2022/statistics/EchartPie/index.jsx b/src/military/qz2022/statistics/EchartPie/index.jsx
new file mode 100644
index 00000000..4a817262
--- /dev/null
+++ b/src/military/qz2022/statistics/EchartPie/index.jsx
@@ -0,0 +1,72 @@
+import React, { useEffect } from 'react';
+import * as echarts from 'echarts';
+
+let fontSizeText = 16;
+let clientWidth = document.body.clientWidth;
+if (clientWidth < 1000) {
+ fontSizeText = 16
+} else if (clientWidth >= 1000 && clientWidth <= 2000) {
+ fontSizeText = 14 + (clientWidth - 1000) / 500;
+} else if (clientWidth > 2000) {
+ fontSizeText = 16 + (clientWidth - 2000) / 500;
+} else if (clientWidth > 3000) {
+ fontSizeText = 18 + (clientWidth - 3000) / 2000;
+}
+
+export default ({ id, className, title, dataList }) => {
+ useEffect(() => {
+ let newEchartBar = document.getElementById(id) && echarts.init(document.getElementById(id));
+
+ let option = {
+ color: ["#fccb42", "#3b7afe", "#9b80f5"],
+ title: {
+ text: "",
+ },
+ tooltip: {
+ trigger: "item",
+ },
+ grid:{
+ bottom:.25*fontSizeText
+ },
+ legend: {
+ icon: 'circle',
+ data: dataList.map((item) => item.name),
+ bottom: .5* fontSizeText,
+ fontSize: fontSizeText,
+ itemGap: 20,
+ itemWidth: 8,
+ },
+ series: [
+ {
+ type: "pie",
+ roseType: "radius",
+ radius: ["30%", "60%"],
+ data: dataList,
+ label: {
+ formatter: function (params) {
+ return params.name + '\n\n' + `${params.value} ${params.percent}%`;
+ },
+ color:'#000'
+ },
+ labelLine: {
+ length: 10,
+ length2: 60,
+ },
+ emphasis: {
+ itemStyle: {
+ shadowBlur: 10,
+ shadowOffsetX: 0,
+ shadowColor: "rgba(0,0,0,0.5)",
+ },
+ },
+ },
+ ],
+ };
+ newEchartBar && newEchartBar.setOption(option);
+ }, [id, title, dataList])
+
+ return (
+
+
+ )
+}
\ No newline at end of file
diff --git a/src/military/qz2022/statistics/index.jsx b/src/military/qz2022/statistics/index.jsx
new file mode 100644
index 00000000..03a60810
--- /dev/null
+++ b/src/military/qz2022/statistics/index.jsx
@@ -0,0 +1,118 @@
+import React, { useEffect, useState } from "react";
+import { stattistics } from '../api';
+import './index.scss';
+import '../../index.scss';
+import statisticsSum from '../image/statistics-sum.png';
+import statisticsWork from '../image/statistics-work.png';
+import EchartPie from './EchartPie';
+import EchartBar from './EchartBar';
+
+
+
+const initBarYData = [[0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0]];
+
+
+function Statistics({ showNotification, qzDetail }) {
+ const is_local= qzDetail &&qzDetail.is_local;
+ const [pieArr, setPieArr] = useState([]);
+
+ const [barXData, setBarXData] = useState([]);
+ const [legendArr, setLegendArr] = useState([]);
+ const [barYData, setBarYData] = useState(initBarYData);
+ const [uploadCount, setUploadCount] = useState(0);
+ const [enrollCount, setEnrollCount] = useState(0);
+
+
+ useEffect(() => {
+ stattistics().then(res => {
+ if (res && res.data && Array.isArray(res.data.data)) {
+ let pieArrList = [];
+ let xData = [];
+ let yData1 = [], yData2 = [], yData3 = [];
+ let barYDataArr = [];
+ res.data.data.forEach(i => {
+ i[0] && xData.push(i[0].split('分赛区')[0]);
+ yData1.push(i[1]);
+ yData2.push(i[2]);
+ yData3.push(i[3]);
+ });
+
+ setLegendArr(res.data.competition_subs);
+ setUploadCount(res.data.upload_count);
+ setEnrollCount(res.data.enroll_count);
+ setBarXData(xData);
+
+ barYDataArr[0] = yData1;
+ barYDataArr[1] = yData2;
+ barYDataArr[2] = yData3;
+ setBarYData(barYDataArr);
+
+ let yData = [];
+ yData.push(yData1.reduce((pre, current) => { return pre + current }, 0));
+ yData.push(yData2.reduce((pre, current) => { return pre + current }, 0));
+ yData.push(yData3.reduce((pre, current) => { return pre + current }, 0));
+ res.data.competition_subs.forEach((item, index) => {
+ pieArrList.push({
+ name: item,
+ value: yData[index],
+ })
+ });
+ setPieArr(pieArrList);
+ }else{
+ showNotification((res&&res.message) || '请求数据失败!');
+ }
+ });
+ }, []);
+
+
+ return (
+
+
+
+
+
+

+
+
{enrollCount}+
+
竞赛总报名数
+
+
+
+
+

+
+
{uploadCount}+
+
竞赛总作品提交数
+
+
+
+
+ {/* 外网 */}
+ {!is_local &&
+
综合赛区报名数
+
+ }
+
+ {/* 内网 */}
+ {
+ is_local &&
+
+
+
}
+
+
+
+ )
+}
+export default Statistics;
\ No newline at end of file
diff --git a/src/military/qz2022/statistics/index.scss b/src/military/qz2022/statistics/index.scss
new file mode 100644
index 00000000..0b5d45e6
--- /dev/null
+++ b/src/military/qz2022/statistics/index.scss
@@ -0,0 +1,78 @@
+.statistics-bg{
+ background-image: url('../image/statistics.png');
+ background-size: 100% 100%;
+ padding:3rem 0;
+}
+.statistics {
+ display: flex;
+ margin: 0 auto;
+
+
+ .statistics-words {
+ width: 30%;
+ margin-right: 1rem;
+ }
+
+ .num-item {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 12.25rem;
+ background-color: #ffffff;
+
+ &:first-child{
+ margin-bottom: 1rem;
+ }
+
+ &:hover {
+ border: 2px solid #2e5bfe;
+ box-shadow: 0px 3px 12px #ecf0ff;
+
+ .num-data {
+ color: #2e5bfe;
+ }
+ }
+
+ img {
+ width: 5.125rem;
+ margin-right: 1.75rem;
+ }
+
+ .num-data {
+ font-weight: 700;
+ font-size: 3rem;
+ line-height: 1.4em;
+ border-bottom: 1px solid #d7dbe1;
+ }
+
+ .num-tit {
+ color: #090909;
+ }
+ }
+
+ .right-echart {
+ flex: auto;
+ background: #fff;
+
+ .echart-box {
+ width: 100%;
+ height: 100%;
+ }
+
+ &.outside {
+ padding: 0 1.75rem 0 1.25rem;
+
+ .echart-box {
+ height: calc(100% - 3.5rem);
+ }
+ }
+ }
+
+ .type-name {
+ color: #333333;
+ font-size: 1rem;
+ line-height: 3.5rem;
+ border-bottom: 1px solid rgba(153, 153, 153, 0.2);
+ box-sizing: border-box;
+ }
+}
diff --git a/src/modules/courses/css/Courses.css b/src/modules/courses/css/Courses.css
index 70e2e59e..13b15e19 100644
--- a/src/modules/courses/css/Courses.css
+++ b/src/modules/courses/css/Courses.css
@@ -580,7 +580,7 @@ span.CodeMirror-selectedtext {
body #root {
- background: #f5f5f5;
+ background: #fff;
}
.newedu-class-leftnav {
diff --git a/src/modules/tpm/TPMIndex.css b/src/modules/tpm/TPMIndex.css
index 3805a366..0f396030 100644
--- a/src/modules/tpm/TPMIndex.css
+++ b/src/modules/tpm/TPMIndex.css
@@ -50,8 +50,15 @@ body>.-task-title {
max-height: 700px !important;
}
.indexHOC > .ant-spin-nested-loading {
- background: #000;
+ /* background: #000; */
height: 100%;
+ margin-bottom: 107px;
+}
+.indexHOC .homePage+.ant-spin-nested-loading {
+ margin-bottom: 0;
+}
+.newFooter{
+ position:absolute !important;
}
.indexHOC > .ant-spin-nested-loading > div > .ant-spin .ant-spin-dot {
top: 50% !important;
diff --git a/src/modules/tpm/TPMIndexHOC.js b/src/modules/tpm/TPMIndexHOC.js
index b6742f59..a65c6c5c 100644
--- a/src/modules/tpm/TPMIndexHOC.js
+++ b/src/modules/tpm/TPMIndexHOC.js
@@ -134,7 +134,7 @@ export function TPMIndexHOC(WrappedComponent, headFoot) {
this.setState({
mygetHelmetapi: response.data.setting
});
- localStorage.setItem('chromesetting', JSON.stringify(response.data.setting));
+ response.data.setting&&localStorage.setItem('chromesetting', JSON.stringify(response.data.setting));
localStorage.setItem('chromesettingresponse', JSON.stringify(response));
try {
if (response.data.setting.tab_logo_url) {
@@ -293,6 +293,7 @@ export function TPMIndexHOC(WrappedComponent, headFoot) {
resetUserInfo: this.fetchUsers,
showCompeleteDialog: this.showCompeleteDialog
};
+ let qz2022 = this.props.match.path.includes('/competition/qz2022');
return (
: ""}
{/*
*/}
-
+ {/*
*/}
+ {!qz2022&&
}
- {!publicNav &&
}
+ {!publicNav && !qz2022&&
}
{
current_user &&
this.initCommonState(user)}