Commit 0bd09563 by 孙香冬

二期bug修复,后台管理权限添加

parent ad2dbaef
{
"name": "tikeyi",
"version": "1.0.0",
"lockfileVersion": 2,
"lockfileVersion": 1,
"requires": true,
"packages": {
"": {
"name": "tikeyi",
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"@alicloud/pop-core": "^1.7.10",
"@alicloud/sms-sdk": "^1.1.6",
"@types/node": "^10.12.18",
"compression": "^1.7.4",
"express": "^4.17.1",
"express-async-handler": "^1.1.4",
"express-history-api-fallback": "^2.2.1",
"formidable": "^1.2.1",
"lru-cache": "^4.1.5",
"md5": "^2.2.1",
"moment": "^2.24.0",
"mongoose": "^5.0.1",
"mysql": "^2.18.1",
"node-xlsx": "^0.16.1",
"nodemailer": "^6.1.1",
"redis": "^4.1.0",
"request": "^2.88.0",
"svg-captcha": "^1.3.12",
"ws": "^5.2.2"
},
"devDependencies": {}
},
"node_modules/@alicloud/dybaseapi": {
"version": "1.0.0",
"resolved": "https://registry.npm.taobao.org/@alicloud/dybaseapi/download/@alicloud/dybaseapi-1.0.0.tgz",
"integrity": "sha1-VS7dCZD5Db1p1AI3zf7/w2bQofU=",
"dependencies": {
"@alicloud/pop-core": "^1.3.3"
}
},
"node_modules/@alicloud/dysmsapi-2017-05-25": {
"version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/@alicloud/dysmsapi-2017-05-25/download/@alicloud/dysmsapi-2017-05-25-1.0.1.tgz",
"integrity": "sha1-qKtpTb4QXrnWfL0eNzV/ag+Eh9U=",
"dependencies": {
"@alicloud/pop-core": "^1.5.1"
}
},
"node_modules/@alicloud/mns": {
"version": "1.0.0",
"resolved": "https://registry.npm.taobao.org/@alicloud/mns/download/@alicloud/mns-1.0.0.tgz",
"integrity": "sha1-AzqBmJmNXtk9onw72f8LnusJDpY=",
"dependencies": {
"debug": "^2.6.3",
"httpx": "^2.1.1",
"kitx": "^1.2.0",
"xml2js": "^0.4.17"
}
},
"node_modules/@alicloud/pop-core": {
"version": "1.7.10",
"resolved": "https://registry.npmjs.org/@alicloud/pop-core/-/pop-core-1.7.10.tgz",
"integrity": "sha512-9/aLWgmgaAdB1ERNTpdOvF7wueLY5CDTRxKZr93x542iuYRA1NDpcKslFqLOy5CUOa0CbopET3JGaHSAz5qv9g==",
"dependencies": {
"debug": "^3.1.0",
"httpx": "^2.1.2",
"json-bigint": "^1.0.0",
"kitx": "^1.2.1",
"xml2js": "^0.4.17"
}
},
"node_modules/@alicloud/pop-core/node_modules/debug": {
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dependencies": {
"ms": "^2.1.1"
}
},
"node_modules/@alicloud/pop-core/node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
},
"node_modules/@alicloud/sms-sdk": {
"version": "1.1.6",
"resolved": "https://registry.npm.taobao.org/@alicloud/sms-sdk/download/@alicloud/sms-sdk-1.1.6.tgz",
"integrity": "sha1-dwHq4eCDLINo1nebQtWDaPlEy/A=",
"dependencies": {
"@alicloud/dybaseapi": "^1.0.0",
"@alicloud/dysmsapi-2017-05-25": "^1.0.1",
"@alicloud/mns": "^1.0.0-beta6",
"babel-runtime": "^6.26.0"
}
},
"node_modules/@babel/runtime": {
"version": "7.13.10",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz",
"integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==",
"dependencies": {
"regenerator-runtime": "^0.13.4"
}
},
"node_modules/@babel/runtime/node_modules/regenerator-runtime": {
"version": "0.13.7",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz",
"integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew=="
},
"node_modules/@redis/bloom": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@redis/bloom/-/bloom-1.0.2.tgz",
"integrity": "sha512-EBw7Ag1hPgFzdznK2PBblc1kdlj5B5Cw3XwI9/oG7tSn85/HKy3X9xHy/8tm/eNXJYHLXHJL/pkwBpFMVVefkw==",
"peerDependencies": {
"@redis/client": "^1.0.0"
}
},
"node_modules/@redis/client": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@redis/client/-/client-1.1.0.tgz",
"integrity": "sha512-xO9JDIgzsZYDl3EvFhl6LC52DP3q3GCMUer8zHgKV6qSYsq1zB+pZs9+T80VgcRogrlRYhi4ZlfX6A+bHiBAgA==",
"dependencies": {
"cluster-key-slot": "1.1.0",
"generic-pool": "3.8.2",
"yallist": "4.0.0"
},
"engines": {
"node": ">=14"
}
},
"node_modules/@redis/client/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
},
"node_modules/@redis/graph": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@redis/graph/-/graph-1.0.1.tgz",
"integrity": "sha512-oDE4myMCJOCVKYMygEMWuriBgqlS5FqdWerikMoJxzmmTUErnTRRgmIDa2VcgytACZMFqpAOWDzops4DOlnkfQ==",
"peerDependencies": {
"@redis/client": "^1.0.0"
}
},
"node_modules/@redis/json": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@redis/json/-/json-1.0.3.tgz",
"integrity": "sha512-4X0Qv0BzD9Zlb0edkUoau5c1bInWSICqXAGrpwEltkncUwcxJIGEcVryZhLgb0p/3PkKaLIWkjhHRtLe9yiA7Q==",
"peerDependencies": {
"@redis/client": "^1.0.0"
}
},
"node_modules/@redis/search": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/@redis/search/-/search-1.0.6.tgz",
"integrity": "sha512-pP+ZQRis5P21SD6fjyCeLcQdps+LuTzp2wdUbzxEmNhleighDDTD5ck8+cYof+WLec4csZX7ks+BuoMw0RaZrA==",
"peerDependencies": {
"@redis/client": "^1.0.0"
}
},
"node_modules/@redis/time-series": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@redis/time-series/-/time-series-1.0.3.tgz",
"integrity": "sha512-OFp0q4SGrTH0Mruf6oFsHGea58u8vS/iI5+NpYdicaM+7BgqBZH8FFvNZ8rYYLrUO/QRqMq72NpXmxLVNcdmjA==",
"peerDependencies": {
"@redis/client": "^1.0.0"
}
},
"node_modules/@types/bson": {
"version": "4.0.3",
"resolved": "https://registry.npm.taobao.org/@types/bson/download/@types/bson-4.0.3.tgz?cache=0&sync_timestamp=1613378303280&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbson%2Fdownload%2F%40types%2Fbson-4.0.3.tgz",
"integrity": "sha1-MIidL/3mJiq744ZZNkxjFFSZn78=",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/mongodb": {
"version": "3.6.10",
"resolved": "https://registry.npm.taobao.org/@types/mongodb/download/@types/mongodb-3.6.10.tgz?cache=0&sync_timestamp=1615809585833&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fmongodb%2Fdownload%2F%40types%2Fmongodb-3.6.10.tgz",
"integrity": "sha1-gMzqq+7J9GDltGhE6Tjo66dPkmY=",
"dependencies": {
"@types/bson": "*",
"@types/node": "*"
}
},
"node_modules/@types/node": {
"version": "10.17.55",
"resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-10.17.55.tgz?cache=0&sync_timestamp=1615834822695&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-10.17.55.tgz",
"integrity": "sha1-oUfygu3sZ5uJTUaU7bWr61lf7L0="
},
"node_modules/accepts": {
"version": "1.3.7",
"resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz",
"integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=",
"dependencies": {
"mime-types": "~2.1.24",
"negotiator": "0.6.2"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/adler-32": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz",
"integrity": "sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=",
"dependencies": {
"exit-on-epipe": "~1.0.1",
"printj": "~1.1.0"
},
"bin": {
"adler32": "bin/adler32.njs"
},
"engines": {
"node": ">=0.8"
}
},
"node_modules/ajv": {
"version": "6.12.6",
"resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.6.tgz",
"integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
}
},
"node_modules/array-flatten": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
},
"node_modules/asn1": {
"version": "0.2.4",
"resolved": "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz",
"integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=",
"dependencies": {
"safer-buffer": "~2.1.0"
}
},
"node_modules/assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"engines": {
"node": ">=0.8"
}
},
"node_modules/async-limiter": {
"version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz",
"integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0="
},
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"node_modules/aws-sign2": {
"version": "0.7.0",
"resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz",
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
"engines": {
"node": "*"
}
},
"node_modules/aws4": {
"version": "1.11.0",
"resolved": "https://registry.npm.taobao.org/aws4/download/aws4-1.11.0.tgz?cache=0&sync_timestamp=1604101311814&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faws4%2Fdownload%2Faws4-1.11.0.tgz",
"integrity": "sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk="
},
"node_modules/babel-runtime": {
"version": "6.26.0",
"resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz",
"integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
"dependencies": {
"core-js": "^2.4.0",
"regenerator-runtime": "^0.11.0"
}
},
"node_modules/bcrypt-pbkdf": {
"version": "1.0.2",
"resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
"dependencies": {
"tweetnacl": "^0.14.3"
}
},
"node_modules/bignumber.js": {
"version": "9.0.2",
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz",
"integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==",
"engines": {
"node": "*"
}
},
"node_modules/bl": {
"version": "2.2.1",
"resolved": "https://registry.npm.taobao.org/bl/download/bl-2.2.1.tgz?cache=0&sync_timestamp=1612867177492&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbl%2Fdownload%2Fbl-2.2.1.tgz",
"integrity": "sha1-jBGntzBlXF1WiYzchxIk9A/ZAdU=",
"dependencies": {
"readable-stream": "^2.3.5",
"safe-buffer": "^5.1.1"
}
},
"node_modules/bluebird": {
"version": "3.5.1",
"resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.5.1.tgz",
"integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk="
},
"node_modules/body-parser": {
"version": "1.19.0",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
"integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
"dependencies": {
"bytes": "3.1.0",
"content-type": "~1.0.4",
"debug": "2.6.9",
"depd": "~1.1.2",
"http-errors": "1.7.2",
"iconv-lite": "0.4.24",
"on-finished": "~2.3.0",
"qs": "6.7.0",
"raw-body": "2.4.0",
"type-is": "~1.6.17"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/body-parser/node_modules/bytes": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
"integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/body-parser/node_modules/qs": {
"version": "6.7.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
"integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
"engines": {
"node": ">=0.6"
}
},
"node_modules/bson": {
"version": "1.1.6",
"resolved": "https://registry.npm.taobao.org/bson/download/bson-1.1.6.tgz",
"integrity": "sha1-+4Gb6aYM1nfghTruTKcSp4XWYYo=",
"engines": {
"node": ">=0.6.19"
}
},
"node_modules/buffer-from": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
},
"node_modules/bytes": {
"version": "3.0.0",
"resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz",
"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/caseless": {
"version": "0.12.0",
"resolved": "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz",
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
},
"node_modules/cfb": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.0.tgz",
"integrity": "sha512-sXMvHsKCICVR3Naq+J556K+ExBo9n50iKl6LGarlnvuA2035uMlGA/qVrc0wQtow5P1vJEw9UyrKLCbtIKz+TQ==",
"dependencies": {
"adler-32": "~1.2.0",
"crc-32": "~1.2.0",
"printj": "~1.1.2"
},
"engines": {
"node": ">=0.8"
}
},
"node_modules/charenc": {
"version": "0.0.2",
"resolved": "https://registry.npm.taobao.org/charenc/download/charenc-0.0.2.tgz",
"integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=",
"engines": {
"node": "*"
}
},
"node_modules/cluster-key-slot": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz",
"integrity": "sha512-2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/codepage": {
"version": "1.14.0",
"resolved": "https://registry.npmjs.org/codepage/-/codepage-1.14.0.tgz",
"integrity": "sha1-jL4lSBMjVZ19MHVxsP/5HnodL5k=",
"dependencies": {
"commander": "~2.14.1",
"exit-on-epipe": "~1.0.1"
},
"bin": {
"codepage": "bin/codepage.njs"
},
"engines": {
"node": ">=0.8"
}
},
"node_modules/codepage/node_modules/commander": {
"version": "2.14.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz",
"integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw=="
},
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz",
"integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=",
"dependencies": {
"delayed-stream": "~1.0.0"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/commander": {
"version": "2.17.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
"integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg=="
},
"node_modules/compressible": {
"version": "2.0.18",
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
"integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
"dependencies": {
"mime-db": ">= 1.43.0 < 2"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/compression": {
"version": "1.7.4",
"resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
"integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
"dependencies": {
"accepts": "~1.3.5",
"bytes": "3.0.0",
"compressible": "~2.0.16",
"debug": "2.6.9",
"on-headers": "~1.0.2",
"safe-buffer": "5.1.2",
"vary": "~1.1.2"
},
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/content-disposition": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
"integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
"dependencies": {
"safe-buffer": "5.1.2"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/content-type": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/cookie": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
"integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/cookie-signature": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
"node_modules/core-js": {
"version": "2.6.12",
"resolved": "https://registry.npm.taobao.org/core-js/download/core-js-2.6.12.tgz?cache=0&sync_timestamp=1614537347747&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-2.6.12.tgz",
"integrity": "sha1-2TM9+nsGXjR8xWgiGdb2kIWcwuw=",
"deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.",
"hasInstallScript": true
},
"node_modules/core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"node_modules/crc-32": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz",
"integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==",
"dependencies": {
"exit-on-epipe": "~1.0.1",
"printj": "~1.1.0"
},
"bin": {
"crc32": "bin/crc32.njs"
},
"engines": {
"node": ">=0.8"
}
},
"node_modules/crypt": {
"version": "0.0.2",
"resolved": "https://registry.npm.taobao.org/crypt/download/crypt-0.0.2.tgz",
"integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=",
"engines": {
"node": "*"
}
},
"node_modules/dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz?cache=0&sync_timestamp=1601073333186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdashdash%2Fdownload%2Fdashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"dependencies": {
"assert-plus": "^1.0.0"
},
"engines": {
"node": ">=0.10"
}
},
"node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566580543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
"integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dependencies": {
"ms": "2.0.0"
}
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/denque": {
"version": "1.5.0",
"resolved": "https://registry.npm.taobao.org/denque/download/denque-1.5.0.tgz?cache=0&sync_timestamp=1609779969821&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdenque%2Fdownload%2Fdenque-1.5.0.tgz",
"integrity": "sha1-dz3gaG/y2Owv+SkUMWpHtzscc94=",
"engines": {
"node": ">=0.10"
}
},
"node_modules/depd": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/destroy": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
},
"node_modules/ecc-jsbn": {
"version": "0.1.2",
"resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz",
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
"dependencies": {
"jsbn": "~0.1.0",
"safer-buffer": "^2.1.0"
}
},
"node_modules/ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"node_modules/encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
},
"node_modules/etag": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/exit-on-epipe": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz",
"integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==",
"engines": {
"node": ">=0.8"
}
},
"node_modules/express": {
"version": "4.17.1",
"resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
"integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
"dependencies": {
"accepts": "~1.3.7",
"array-flatten": "1.1.1",
"body-parser": "1.19.0",
"content-disposition": "0.5.3",
"content-type": "~1.0.4",
"cookie": "0.4.0",
"cookie-signature": "1.0.6",
"debug": "2.6.9",
"depd": "~1.1.2",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"finalhandler": "~1.1.2",
"fresh": "0.5.2",
"merge-descriptors": "1.0.1",
"methods": "~1.1.2",
"on-finished": "~2.3.0",
"parseurl": "~1.3.3",
"path-to-regexp": "0.1.7",
"proxy-addr": "~2.0.5",
"qs": "6.7.0",
"range-parser": "~1.2.1",
"safe-buffer": "5.1.2",
"send": "0.17.1",
"serve-static": "1.14.1",
"setprototypeof": "1.1.1",
"statuses": "~1.5.0",
"type-is": "~1.6.18",
"utils-merge": "1.0.1",
"vary": "~1.1.2"
},
"engines": {
"node": ">= 0.10.0"
}
},
"node_modules/express-async-handler": {
"version": "1.1.4",
"resolved": "https://registry.npm.taobao.org/express-async-handler/download/express-async-handler-1.1.4.tgz",
"integrity": "sha1-IlqEkI32OzWunflLbw8a8GEmZCY="
},
"node_modules/express-history-api-fallback": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/express-history-api-fallback/-/express-history-api-fallback-2.2.1.tgz",
"integrity": "sha1-OirSf3vryQ/FM9EQ18bYMJe80Fc="
},
"node_modules/express/node_modules/qs": {
"version": "6.7.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
"integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
"engines": {
"node": ">=0.6"
}
},
"node_modules/extend": {
"version": "3.0.2",
"resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz",
"integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo="
},
"node_modules/extsprintf": {
"version": "1.3.0",
"resolved": "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
"engines": [
"node >=0.6.0"
]
},
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz",
"integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU="
},
"node_modules/fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM="
},
"node_modules/fflate": {
"version": "0.3.11",
"resolved": "https://registry.npmjs.org/fflate/-/fflate-0.3.11.tgz",
"integrity": "sha512-Rr5QlUeGN1mbOHlaqcSYMKVpPbgLy0AWT/W0EHxA6NGI12yO1jpoui2zBBvU2G824ltM6Ut8BFgfHSBGfkmS0A=="
},
"node_modules/finalhandler": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
"integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
"dependencies": {
"debug": "2.6.9",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"on-finished": "~2.3.0",
"parseurl": "~1.3.3",
"statuses": "~1.5.0",
"unpipe": "~1.0.0"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
"engines": {
"node": "*"
}
},
"node_modules/form-data": {
"version": "2.3.3",
"resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz",
"integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.6",
"mime-types": "^2.1.12"
},
"engines": {
"node": ">= 0.12"
}
},
"node_modules/formidable": {
"version": "1.2.2",
"resolved": "https://registry.npm.taobao.org/formidable/download/formidable-1.2.2.tgz",
"integrity": "sha1-v2muopcpgmdfAIZTQrmCmG9rjdk=",
"deprecated": "Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau"
},
"node_modules/forwarded": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
"integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/frac": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz",
"integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==",
"engines": {
"node": ">=0.8"
}
},
"node_modules/fresh": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/generic-pool": {
"version": "3.8.2",
"resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.8.2.tgz",
"integrity": "sha512-nGToKy6p3PAbYQ7p1UlWl6vSPwfwU6TMSWK7TTu+WUY4ZjyZQGniGGt2oNVvyNSpyZYSB43zMXVLcBm08MTMkg==",
"engines": {
"node": ">= 4"
}
},
"node_modules/getpass": {
"version": "0.1.7",
"resolved": "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"dependencies": {
"assert-plus": "^1.0.0"
}
},
"node_modules/har-schema": {
"version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz",
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
"engines": {
"node": ">=4"
}
},
"node_modules/har-validator": {
"version": "5.1.5",
"resolved": "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.5.tgz",
"integrity": "sha1-HwgDufjLIMD6E4It8ezds2veHv0=",
"deprecated": "this library is no longer supported",
"dependencies": {
"ajv": "^6.12.3",
"har-schema": "^2.0.0"
},
"engines": {
"node": ">=6"
}
},
"node_modules/http-errors": {
"version": "1.7.2",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
"integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
"dependencies": {
"depd": "~1.1.2",
"inherits": "2.0.3",
"setprototypeof": "1.1.1",
"statuses": ">= 1.5.0 < 2",
"toidentifier": "1.0.0"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/http-signature": {
"version": "1.2.0",
"resolved": "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1600868613104&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz",
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
"dependencies": {
"assert-plus": "^1.0.0",
"jsprim": "^1.2.2",
"sshpk": "^1.7.0"
},
"engines": {
"node": ">=0.8",
"npm": ">=1.3.7"
}
},
"node_modules/httpx": {
"version": "2.2.7",
"resolved": "https://registry.npm.taobao.org/httpx/download/httpx-2.2.7.tgz",
"integrity": "sha1-HjQZgUbjLKMwWmbBEglVnhy+ugk=",
"dependencies": {
"@types/node": "^14",
"debug": "^4.1.1"
}
},
"node_modules/httpx/node_modules/@types/node": {
"version": "14.14.35",
"resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-14.14.35.tgz?cache=0&sync_timestamp=1615834822695&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.14.35.tgz",
"integrity": "sha1-QslTpOKxirkx9yR35wEhcvT/oxM="
},
"node_modules/httpx/node_modules/debug": {
"version": "4.3.1",
"resolved": "https://registry.npm.taobao.org/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1607566580543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz",
"integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=",
"dependencies": {
"ms": "2.1.2"
},
"engines": {
"node": ">=6.0"
},
"peerDependenciesMeta": {
"supports-color": {
"optional": true
}
}
},
"node_modules/httpx/node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433905701&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
"integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
},
"node_modules/iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/inherits": {
"version": "2.0.3",
"resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"node_modules/ipaddr.js": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
"integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
"engines": {
"node": ">= 0.10"
}
},
"node_modules/is-buffer": {
"version": "1.1.6",
"resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz?cache=0&sync_timestamp=1604429388528&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-buffer%2Fdownload%2Fis-buffer-1.1.6.tgz",
"integrity": "sha1-76ouqdqg16suoTqXsritUf776L4="
},
"node_modules/is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
},
"node_modules/isarray": {
"version": "1.0.0",
"resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
"node_modules/isstream": {
"version": "0.1.2",
"resolved": "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
},
"node_modules/jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
},
"node_modules/json-bigint": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz",
"integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==",
"dependencies": {
"bignumber.js": "^9.0.0"
}
},
"node_modules/json-schema": {
"version": "0.2.3",
"resolved": "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz?cache=0&sync_timestamp=1609553708276&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema%2Fdownload%2Fjson-schema-0.2.3.tgz",
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
},
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1608000211395&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz",
"integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA="
},
"node_modules/json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
},
"node_modules/jsprim": {
"version": "1.4.1",
"resolved": "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
"engines": [
"node >=0.6.0"
],
"dependencies": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
"json-schema": "0.2.3",
"verror": "1.10.0"
}
},
"node_modules/kareem": {
"version": "2.3.2",
"resolved": "https://registry.npm.taobao.org/kareem/download/kareem-2.3.2.tgz",
"integrity": "sha1-eMRQiJSYW404oNwV4ajhEHjyypM="
},
"node_modules/kitx": {
"version": "1.3.0",
"resolved": "https://registry.npm.taobao.org/kitx/download/kitx-1.3.0.tgz",
"integrity": "sha1-qz7nxZjSsdYp/VVWj4aMREDCAOo="
},
"node_modules/lru-cache": {
"version": "4.1.5",
"resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz",
"integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=",
"dependencies": {
"pseudomap": "^1.0.2",
"yallist": "^2.1.2"
}
},
"node_modules/md5": {
"version": "2.3.0",
"resolved": "https://registry.npm.taobao.org/md5/download/md5-2.3.0.tgz?cache=0&sync_timestamp=1596362680344&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmd5%2Fdownload%2Fmd5-2.3.0.tgz",
"integrity": "sha1-w9qaaq46MLRreww0m4exENw72k8=",
"dependencies": {
"charenc": "0.0.2",
"crypt": "0.0.2",
"is-buffer": "~1.1.6"
}
},
"node_modules/media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/memory-pager": {
"version": "1.5.0",
"resolved": "https://registry.npm.taobao.org/memory-pager/download/memory-pager-1.5.0.tgz",
"integrity": "sha1-2HUWVdItOEaCdByXLyw9bfo+ZrU=",
"optional": true
},
"node_modules/merge-descriptors": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
},
"node_modules/methods": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
"integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"bin": {
"mime": "cli.js"
},
"engines": {
"node": ">=4"
}
},
"node_modules/mime-db": {
"version": "1.46.0",
"resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.46.0.tgz?cache=0&sync_timestamp=1613194744108&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-db%2Fdownload%2Fmime-db-1.46.0.tgz",
"integrity": "sha1-Ymd0in95lZTePLyM3pHe80lmHO4=",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
"version": "2.1.29",
"resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.29.tgz?cache=0&sync_timestamp=1613608491741&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.29.tgz",
"integrity": "sha1-HUq3faZLkfX3JInfKSNlY3VLsbI=",
"dependencies": {
"mime-db": "1.46.0"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/moment": {
"version": "2.29.1",
"resolved": "https://registry.npm.taobao.org/moment/download/moment-2.29.1.tgz?cache=0&sync_timestamp=1601983320283&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmoment%2Fdownload%2Fmoment-2.29.1.tgz",
"integrity": "sha1-sr52n6MZQL6e7qZGnAdeNQBvo9M=",
"engines": {
"node": "*"
}
},
"node_modules/mongodb": {
"version": "3.6.5",
"resolved": "https://registry.npm.taobao.org/mongodb/download/mongodb-3.6.5.tgz",
"integrity": "sha1-wn14b9TTyD3BkwJINwfRKp0q7l8=",
"dependencies": {
"bl": "^2.2.1",
"bson": "^1.1.4",
"denque": "^1.4.1",
"require_optional": "^1.0.1",
"safe-buffer": "^5.1.2"
},
"engines": {
"node": ">=4"
},
"optionalDependencies": {
"saslprep": "^1.0.0"
},
"peerDependenciesMeta": {
"aws4": {
"optional": true
},
"bson-ext": {
"optional": true
},
"kerberos": {
"optional": true
},
"mongodb-client-encryption": {
"optional": true
},
"mongodb-extjson": {
"optional": true
},
"snappy": {
"optional": true
}
}
},
"node_modules/mongoose": {
"version": "5.12.1",
"resolved": "https://registry.npm.taobao.org/mongoose/download/mongoose-5.12.1.tgz?cache=0&sync_timestamp=1616103030377&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmongoose%2Fdownload%2Fmongoose-5.12.1.tgz",
"integrity": "sha1-mqzorHg7I5kGJTOWqY8qVsCWS4s=",
"dependencies": {
"@types/mongodb": "^3.5.27",
"bson": "^1.1.4",
"kareem": "2.3.2",
"mongodb": "3.6.5",
"mongoose-legacy-pluralize": "1.0.2",
"mpath": "0.8.3",
"mquery": "3.2.4",
"ms": "2.1.2",
"regexp-clone": "1.0.0",
"safe-buffer": "5.2.1",
"sift": "7.0.1",
"sliced": "1.0.1"
},
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/mongoose-legacy-pluralize": {
"version": "1.0.2",
"resolved": "https://registry.npm.taobao.org/mongoose-legacy-pluralize/download/mongoose-legacy-pluralize-1.0.2.tgz",
"integrity": "sha1-O6n5H6UHtRhtOZ+0CFS/8Y+1Y+Q=",
"peerDependencies": {
"mongoose": "*"
}
},
"node_modules/mongoose/node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433905701&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
"integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
},
"node_modules/mongoose/node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz",
"integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY="
},
"node_modules/mpath": {
"version": "0.8.3",
"resolved": "https://registry.npm.taobao.org/mpath/download/mpath-0.8.3.tgz",
"integrity": "sha1-gorA0Yf39CZ0g510khlwl5q73Y8=",
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/mquery": {
"version": "3.2.4",
"resolved": "https://registry.npm.taobao.org/mquery/download/mquery-3.2.4.tgz?cache=0&sync_timestamp=1613149714087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmquery%2Fdownload%2Fmquery-3.2.4.tgz",
"integrity": "sha1-nFwuKF6mxvIGc/NSiXPJnuGqoaA=",
"dependencies": {
"bluebird": "3.5.1",
"debug": "3.1.0",
"regexp-clone": "^1.0.0",
"safe-buffer": "5.1.2",
"sliced": "1.0.1"
},
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/mquery/node_modules/debug": {
"version": "3.1.0",
"resolved": "https://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz?cache=0&sync_timestamp=1607566580543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.1.0.tgz",
"integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
"dependencies": {
"ms": "2.0.0"
}
},
"node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433905701&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"node_modules/mysql": {
"version": "2.18.1",
"resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz",
"integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==",
"dependencies": {
"bignumber.js": "9.0.0",
"readable-stream": "2.3.7",
"safe-buffer": "5.1.2",
"sqlstring": "2.3.1"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mysql/node_modules/bignumber.js": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz",
"integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==",
"engines": {
"node": "*"
}
},
"node_modules/negotiator": {
"version": "0.6.2",
"resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz",
"integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/node-xlsx": {
"version": "0.16.1",
"resolved": "https://registry.npmjs.org/node-xlsx/-/node-xlsx-0.16.1.tgz",
"integrity": "sha512-mwEZKItGXKO+jp5Pz9+wDCXxqhJITGd6m81A8WmalBpGAzREiR5cIJ0xrSF0BxzU6Mh2mC0fA2X0/3GqNU6dIw==",
"dependencies": {
"@babel/runtime": "^7.12.5",
"buffer-from": "^1.1.1",
"xlsx": "^0.16.9"
},
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/nodemailer": {
"version": "6.5.0",
"resolved": "https://registry.npm.taobao.org/nodemailer/download/nodemailer-6.5.0.tgz?cache=0&sync_timestamp=1614329161993&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnodemailer%2Fdownload%2Fnodemailer-6.5.0.tgz",
"integrity": "sha1-0Swo2NSHeJGOJfGZnZeRAjGxddk=",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/oauth-sign": {
"version": "0.9.0",
"resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz",
"integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=",
"engines": {
"node": "*"
}
},
"node_modules/on-finished": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
"dependencies": {
"ee-first": "1.1.1"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/on-headers": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
"integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/opentype.js": {
"version": "0.7.3",
"resolved": "https://registry.npm.taobao.org/opentype.js/download/opentype.js-0.7.3.tgz",
"integrity": "sha1-QPuM4Yv9YOdESO/f5EKDQJg5eqs=",
"dependencies": {
"tiny-inflate": "^1.0.2"
},
"bin": {
"ot": "bin/ot"
}
},
"node_modules/parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/path-to-regexp": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
},
"node_modules/performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
},
"node_modules/printj": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz",
"integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==",
"bin": {
"printj": "bin/printj.njs"
},
"engines": {
"node": ">=0.8"
}
},
"node_modules/process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz",
"integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I="
},
"node_modules/proxy-addr": {
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
"integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
"dependencies": {
"forwarded": "0.2.0",
"ipaddr.js": "1.9.1"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz",
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
},
"node_modules/psl": {
"version": "1.8.0",
"resolved": "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz",
"integrity": "sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ="
},
"node_modules/punycode": {
"version": "2.1.1",
"resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz",
"integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=",
"engines": {
"node": ">=6"
}
},
"node_modules/qs": {
"version": "6.5.2",
"resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz",
"integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=",
"engines": {
"node": ">=0.6"
}
},
"node_modules/range-parser": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/raw-body": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
"integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
"dependencies": {
"bytes": "3.1.0",
"http-errors": "1.7.2",
"iconv-lite": "0.4.24",
"unpipe": "1.0.0"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/raw-body/node_modules/bytes": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
"integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/readable-stream": {
"version": "2.3.7",
"resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz",
"integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=",
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
}
},
"node_modules/redis": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/redis/-/redis-4.1.0.tgz",
"integrity": "sha512-5hvJ8wbzpCCiuN1ges6tx2SAh2XXCY0ayresBmu40/SGusWHFW86TAlIPpbimMX2DFHOX7RN34G2XlPA1Z43zg==",
"workspaces": [
"./packages/*"
],
"dependencies": {
"@redis/bloom": "1.0.2",
"@redis/client": "1.1.0",
"@redis/graph": "1.0.1",
"@redis/json": "1.0.3",
"@redis/search": "1.0.6",
"@redis/time-series": "1.0.3"
}
},
"node_modules/regenerator-runtime": {
"version": "0.11.1",
"resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz",
"integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk="
},
"node_modules/regexp-clone": {
"version": "1.0.0",
"resolved": "https://registry.npm.taobao.org/regexp-clone/download/regexp-clone-1.0.0.tgz",
"integrity": "sha1-Ii25Z2IydwViYLmSYmNUoEzpv2M="
},
"node_modules/request": {
"version": "2.88.2",
"resolved": "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz",
"integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=",
"deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
"dependencies": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
"caseless": "~0.12.0",
"combined-stream": "~1.0.6",
"extend": "~3.0.2",
"forever-agent": "~0.6.1",
"form-data": "~2.3.2",
"har-validator": "~5.1.3",
"http-signature": "~1.2.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
"json-stringify-safe": "~5.0.1",
"mime-types": "~2.1.19",
"oauth-sign": "~0.9.0",
"performance-now": "^2.1.0",
"qs": "~6.5.2",
"safe-buffer": "^5.1.2",
"tough-cookie": "~2.5.0",
"tunnel-agent": "^0.6.0",
"uuid": "^3.3.2"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/require_optional": {
"version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/require_optional/download/require_optional-1.0.1.tgz",
"integrity": "sha1-TPNaQkf2TKPfjC7yCMxJSxyo/C4=",
"dependencies": {
"resolve-from": "^2.0.0",
"semver": "^5.1.0"
}
},
"node_modules/resolve-from": {
"version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-2.0.0.tgz",
"integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
"integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
},
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz",
"integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo="
},
"node_modules/saslprep": {
"version": "1.0.3",
"resolved": "https://registry.npm.taobao.org/saslprep/download/saslprep-1.0.3.tgz",
"integrity": "sha1-TAL5RrVs9UKX40e6EJPnrKxM8iY=",
"optional": true,
"dependencies": {
"sparse-bitfield": "^3.0.3"
},
"engines": {
"node": ">=6"
}
},
"node_modules/sax": {
"version": "1.2.4",
"resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz",
"integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk="
},
"node_modules/semver": {
"version": "5.7.1",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1606853731020&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
"integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
"bin": {
"semver": "bin/semver"
}
},
"node_modules/send": {
"version": "0.17.1",
"resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
"integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
"dependencies": {
"debug": "2.6.9",
"depd": "~1.1.2",
"destroy": "~1.0.4",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"fresh": "0.5.2",
"http-errors": "~1.7.2",
"mime": "1.6.0",
"ms": "2.1.1",
"on-finished": "~2.3.0",
"range-parser": "~1.2.1",
"statuses": "~1.5.0"
},
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/send/node_modules/ms": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
},
"node_modules/serve-static": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
"integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
"dependencies": {
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"parseurl": "~1.3.3",
"send": "0.17.1"
},
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/setprototypeof": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
"integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
},
"node_modules/sift": {
"version": "7.0.1",
"resolved": "https://registry.npm.taobao.org/sift/download/sift-7.0.1.tgz",
"integrity": "sha1-R9YsULFZ0xbxNy+LU/nBDNIaSwg="
},
"node_modules/sliced": {
"version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/sliced/download/sliced-1.0.1.tgz",
"integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E="
},
"node_modules/sparse-bitfield": {
"version": "3.0.3",
"resolved": "https://registry.npm.taobao.org/sparse-bitfield/download/sparse-bitfield-3.0.3.tgz",
"integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=",
"optional": true,
"dependencies": {
"memory-pager": "^1.0.2"
}
},
"node_modules/sqlstring": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz",
"integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/ssf": {
"version": "0.11.2",
"resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz",
"integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==",
"dependencies": {
"frac": "~1.1.2"
},
"engines": {
"node": ">=0.8"
}
},
"node_modules/sshpk": {
"version": "1.16.1",
"resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz",
"integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=",
"dependencies": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
"bcrypt-pbkdf": "^1.0.0",
"dashdash": "^1.12.0",
"ecc-jsbn": "~0.1.1",
"getpass": "^0.1.1",
"jsbn": "~0.1.0",
"safer-buffer": "^2.0.2",
"tweetnacl": "~0.14.0"
},
"bin": {
"sshpk-conv": "bin/sshpk-conv",
"sshpk-sign": "bin/sshpk-sign",
"sshpk-verify": "bin/sshpk-verify"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/statuses": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz",
"integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
"dependencies": {
"safe-buffer": "~5.1.0"
}
},
"node_modules/svg-captcha": {
"version": "1.4.0",
"resolved": "https://registry.npm.taobao.org/svg-captcha/download/svg-captcha-1.4.0.tgz",
"integrity": "sha1-MurTxkY5NsIYuzvJ7QT+pO7/5JI=",
"dependencies": {
"opentype.js": "^0.7.3"
},
"engines": {
"node": ">=4.x"
}
},
"node_modules/tiny-inflate": {
"version": "1.0.3",
"resolved": "https://registry.npm.taobao.org/tiny-inflate/download/tiny-inflate-1.0.3.tgz",
"integrity": "sha1-EicVSUkToYBRZqr3yTRnkz7qJsQ="
},
"node_modules/toidentifier": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
"integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
"engines": {
"node": ">=0.6"
}
},
"node_modules/tough-cookie": {
"version": "2.5.0",
"resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz",
"integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=",
"dependencies": {
"psl": "^1.1.28",
"punycode": "^2.1.1"
},
"engines": {
"node": ">=0.8"
}
},
"node_modules/tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"dependencies": {
"safe-buffer": "^5.0.1"
},
"engines": {
"node": "*"
}
},
"node_modules/tweetnacl": {
"version": "0.14.5",
"resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
},
"node_modules/type-is": {
"version": "1.6.18",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
"integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
"dependencies": {
"media-typer": "0.3.0",
"mime-types": "~2.1.24"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz?cache=0&sync_timestamp=1610237586670&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.1.tgz",
"integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=",
"dependencies": {
"punycode": "^2.1.0"
}
},
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"node_modules/utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
"engines": {
"node": ">= 0.4.0"
}
},
"node_modules/uuid": {
"version": "3.4.0",
"resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1607460052228&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz",
"integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=",
"deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
"bin": {
"uuid": "bin/uuid"
}
},
"node_modules/vary": {
"version": "1.1.2",
"resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/verror": {
"version": "1.10.0",
"resolved": "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"engines": [
"node >=0.6.0"
],
"dependencies": {
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
"extsprintf": "^1.2.0"
}
},
"node_modules/wmf": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz",
"integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==",
"engines": {
"node": ">=0.8"
}
},
"node_modules/word": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz",
"integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==",
"engines": {
"node": ">=0.8"
}
},
"node_modules/ws": {
"version": "5.2.2",
"resolved": "https://registry.npm.taobao.org/ws/download/ws-5.2.2.tgz?cache=0&sync_timestamp=1615063662500&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-5.2.2.tgz",
"integrity": "sha1-3/7xSGa46NyRM1glFNG++vlumA8=",
"dependencies": {
"async-limiter": "~1.0.0"
}
},
"node_modules/xlsx": {
"version": "0.16.9",
"resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.16.9.tgz",
"integrity": "sha512-gxi1I3EasYvgCX1vN9pGyq920Ron4NO8PNfhuoA3Hpq6Y8f0ECXiy4OLrK4QZBnj1jx3QD+8Fq5YZ/3mPZ5iXw==",
"dependencies": {
"adler-32": "~1.2.0",
"cfb": "^1.1.4",
"codepage": "~1.14.0",
"commander": "~2.17.1",
"crc-32": "~1.2.0",
"exit-on-epipe": "~1.0.1",
"fflate": "^0.3.8",
"ssf": "~0.11.2",
"wmf": "~1.0.1",
"word": "~0.3.0"
},
"bin": {
"xlsx": "bin/xlsx.njs"
},
"engines": {
"node": ">=0.8"
}
},
"node_modules/xml2js": {
"version": "0.4.23",
"resolved": "https://registry.npm.taobao.org/xml2js/download/xml2js-0.4.23.tgz",
"integrity": "sha1-oMaVFnUkIesqx1juTUzPWIQ+rGY=",
"dependencies": {
"sax": ">=0.6.0",
"xmlbuilder": "~11.0.0"
},
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/xmlbuilder": {
"version": "11.0.1",
"resolved": "https://registry.npm.taobao.org/xmlbuilder/download/xmlbuilder-11.0.1.tgz?cache=0&sync_timestamp=1600349105009&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxmlbuilder%2Fdownload%2Fxmlbuilder-11.0.1.tgz",
"integrity": "sha1-vpuuHIoEbnazESdyY0fQrXACvrM=",
"engines": {
"node": ">=4.0"
}
},
"node_modules/yallist": {
"version": "2.1.2",
"resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz",
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
}
},
"dependencies": {
"@alicloud/dybaseapi": {
"version": "1.0.0",
......@@ -1889,8 +87,7 @@
"@redis/bloom": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@redis/bloom/-/bloom-1.0.2.tgz",
"integrity": "sha512-EBw7Ag1hPgFzdznK2PBblc1kdlj5B5Cw3XwI9/oG7tSn85/HKy3X9xHy/8tm/eNXJYHLXHJL/pkwBpFMVVefkw==",
"requires": {}
"integrity": "sha512-EBw7Ag1hPgFzdznK2PBblc1kdlj5B5Cw3XwI9/oG7tSn85/HKy3X9xHy/8tm/eNXJYHLXHJL/pkwBpFMVVefkw=="
},
"@redis/client": {
"version": "1.1.0",
......@@ -1912,26 +109,22 @@
"@redis/graph": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@redis/graph/-/graph-1.0.1.tgz",
"integrity": "sha512-oDE4myMCJOCVKYMygEMWuriBgqlS5FqdWerikMoJxzmmTUErnTRRgmIDa2VcgytACZMFqpAOWDzops4DOlnkfQ==",
"requires": {}
"integrity": "sha512-oDE4myMCJOCVKYMygEMWuriBgqlS5FqdWerikMoJxzmmTUErnTRRgmIDa2VcgytACZMFqpAOWDzops4DOlnkfQ=="
},
"@redis/json": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@redis/json/-/json-1.0.3.tgz",
"integrity": "sha512-4X0Qv0BzD9Zlb0edkUoau5c1bInWSICqXAGrpwEltkncUwcxJIGEcVryZhLgb0p/3PkKaLIWkjhHRtLe9yiA7Q==",
"requires": {}
"integrity": "sha512-4X0Qv0BzD9Zlb0edkUoau5c1bInWSICqXAGrpwEltkncUwcxJIGEcVryZhLgb0p/3PkKaLIWkjhHRtLe9yiA7Q=="
},
"@redis/search": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/@redis/search/-/search-1.0.6.tgz",
"integrity": "sha512-pP+ZQRis5P21SD6fjyCeLcQdps+LuTzp2wdUbzxEmNhleighDDTD5ck8+cYof+WLec4csZX7ks+BuoMw0RaZrA==",
"requires": {}
"integrity": "sha512-pP+ZQRis5P21SD6fjyCeLcQdps+LuTzp2wdUbzxEmNhleighDDTD5ck8+cYof+WLec4csZX7ks+BuoMw0RaZrA=="
},
"@redis/time-series": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@redis/time-series/-/time-series-1.0.3.tgz",
"integrity": "sha512-OFp0q4SGrTH0Mruf6oFsHGea58u8vS/iI5+NpYdicaM+7BgqBZH8FFvNZ8rYYLrUO/QRqMq72NpXmxLVNcdmjA==",
"requires": {}
"integrity": "sha512-OFp0q4SGrTH0Mruf6oFsHGea58u8vS/iI5+NpYdicaM+7BgqBZH8FFvNZ8rYYLrUO/QRqMq72NpXmxLVNcdmjA=="
},
"@types/bson": {
"version": "4.0.3",
......@@ -1975,8 +168,8 @@
},
"ajv": {
"version": "6.12.6",
"resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.6.tgz",
"integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=",
"resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"requires": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
......@@ -1990,17 +183,17 @@
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
},
"asn1": {
"version": "0.2.4",
"resolved": "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz",
"integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=",
"version": "0.2.6",
"resolved": "https://registry.npmmirror.com/asn1/-/asn1-0.2.6.tgz",
"integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
"requires": {
"safer-buffer": "~2.1.0"
}
},
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
"resolved": "https://registry.npmmirror.com/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw=="
},
"async-limiter": {
"version": "1.0.1",
......@@ -2009,18 +202,18 @@
},
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
"resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"aws-sign2": {
"version": "0.7.0",
"resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz",
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
"resolved": "https://registry.npmmirror.com/aws-sign2/-/aws-sign2-0.7.0.tgz",
"integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA=="
},
"aws4": {
"version": "1.11.0",
"resolved": "https://registry.npm.taobao.org/aws4/download/aws4-1.11.0.tgz?cache=0&sync_timestamp=1604101311814&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faws4%2Fdownload%2Faws4-1.11.0.tgz",
"integrity": "sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk="
"version": "1.12.0",
"resolved": "https://registry.npmmirror.com/aws4/-/aws4-1.12.0.tgz",
"integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg=="
},
"babel-runtime": {
"version": "6.26.0",
......@@ -2033,8 +226,8 @@
},
"bcrypt-pbkdf": {
"version": "1.0.2",
"resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
"resolved": "https://registry.npmmirror.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
"requires": {
"tweetnacl": "^0.14.3"
}
......@@ -2104,8 +297,8 @@
},
"caseless": {
"version": "0.12.0",
"resolved": "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz",
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
"resolved": "https://registry.npmmirror.com/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
},
"cfb": {
"version": "1.2.0",
......@@ -2145,8 +338,8 @@
},
"combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz",
"integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=",
"resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"requires": {
"delayed-stream": "~1.0.0"
}
......@@ -2227,8 +420,8 @@
},
"dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz?cache=0&sync_timestamp=1601073333186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdashdash%2Fdownload%2Fdashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"resolved": "https://registry.npmmirror.com/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
"requires": {
"assert-plus": "^1.0.0"
}
......@@ -2243,8 +436,8 @@
},
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
"resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
},
"denque": {
"version": "1.5.0",
......@@ -2263,8 +456,8 @@
},
"ecc-jsbn": {
"version": "0.1.2",
"resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz",
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
"resolved": "https://registry.npmmirror.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
"integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
"requires": {
"jsbn": "~0.1.0",
"safer-buffer": "^2.1.0"
......@@ -2351,23 +544,23 @@
},
"extend": {
"version": "3.0.2",
"resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz",
"integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo="
"resolved": "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz",
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
},
"extsprintf": {
"version": "1.3.0",
"resolved": "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
"resolved": "https://registry.npmmirror.com/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g=="
},
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz",
"integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU="
"resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM="
"resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
},
"fflate": {
"version": "0.3.11",
......@@ -2390,13 +583,13 @@
},
"forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
"resolved": "https://registry.npmmirror.com/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw=="
},
"form-data": {
"version": "2.3.3",
"resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz",
"integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=",
"resolved": "https://registry.npmmirror.com/form-data/-/form-data-2.3.3.tgz",
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.6",
......@@ -2430,21 +623,21 @@
},
"getpass": {
"version": "0.1.7",
"resolved": "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"resolved": "https://registry.npmmirror.com/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
"requires": {
"assert-plus": "^1.0.0"
}
},
"har-schema": {
"version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz",
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
"resolved": "https://registry.npmmirror.com/har-schema/-/har-schema-2.0.0.tgz",
"integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q=="
},
"har-validator": {
"version": "5.1.5",
"resolved": "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.5.tgz",
"integrity": "sha1-HwgDufjLIMD6E4It8ezds2veHv0=",
"resolved": "https://registry.npmmirror.com/har-validator/-/har-validator-5.1.5.tgz",
"integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
"requires": {
"ajv": "^6.12.3",
"har-schema": "^2.0.0"
......@@ -2464,8 +657,8 @@
},
"http-signature": {
"version": "1.2.0",
"resolved": "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1600868613104&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz",
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
"resolved": "https://registry.npmmirror.com/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
"requires": {
"assert-plus": "^1.0.0",
"jsprim": "^1.2.2",
......@@ -2526,8 +719,8 @@
},
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
"resolved": "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="
},
"isarray": {
"version": "1.0.0",
......@@ -2536,13 +729,13 @@
},
"isstream": {
"version": "0.1.2",
"resolved": "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
"resolved": "https://registry.npmmirror.com/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g=="
},
"jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
"resolved": "https://registry.npmmirror.com/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg=="
},
"json-bigint": {
"version": "1.0.0",
......@@ -2553,28 +746,28 @@
}
},
"json-schema": {
"version": "0.2.3",
"resolved": "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz?cache=0&sync_timestamp=1609553708276&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema%2Fdownload%2Fjson-schema-0.2.3.tgz",
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
"version": "0.4.0",
"resolved": "https://registry.npmmirror.com/json-schema/-/json-schema-0.4.0.tgz",
"integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="
},
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1608000211395&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz",
"integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA="
"resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
},
"json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
"resolved": "https://registry.npmmirror.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
},
"jsprim": {
"version": "1.4.1",
"resolved": "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
"version": "1.4.2",
"resolved": "https://registry.npmmirror.com/jsprim/-/jsprim-1.4.2.tgz",
"integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
"requires": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
"json-schema": "0.2.3",
"json-schema": "0.4.0",
"verror": "1.10.0"
}
},
......@@ -2698,8 +891,7 @@
"mongoose-legacy-pluralize": {
"version": "1.0.2",
"resolved": "https://registry.npm.taobao.org/mongoose-legacy-pluralize/download/mongoose-legacy-pluralize-1.0.2.tgz",
"integrity": "sha1-O6n5H6UHtRhtOZ+0CFS/8Y+1Y+Q=",
"requires": {}
"integrity": "sha1-O6n5H6UHtRhtOZ+0CFS/8Y+1Y+Q="
},
"mpath": {
"version": "0.8.3",
......@@ -2773,8 +965,8 @@
},
"oauth-sign": {
"version": "0.9.0",
"resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz",
"integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU="
"resolved": "https://registry.npmmirror.com/oauth-sign/-/oauth-sign-0.9.0.tgz",
"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
},
"on-finished": {
"version": "2.3.0",
......@@ -2809,8 +1001,8 @@
},
"performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
"resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
},
"printj": {
"version": "1.1.2",
......@@ -2837,19 +1029,19 @@
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
},
"psl": {
"version": "1.8.0",
"resolved": "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz",
"integrity": "sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ="
"version": "1.9.0",
"resolved": "https://registry.npmmirror.com/psl/-/psl-1.9.0.tgz",
"integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
},
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz",
"integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew="
"version": "2.3.0",
"resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.0.tgz",
"integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA=="
},
"qs": {
"version": "6.5.2",
"resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz",
"integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY="
"version": "6.5.3",
"resolved": "https://registry.npmmirror.com/qs/-/qs-6.5.3.tgz",
"integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA=="
},
"range-parser": {
"version": "1.2.1",
......@@ -2913,8 +1105,8 @@
},
"request": {
"version": "2.88.2",
"resolved": "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz",
"integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=",
"resolved": "https://registry.npmmirror.com/request/-/request-2.88.2.tgz",
"integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
"requires": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
......@@ -3057,9 +1249,9 @@
}
},
"sshpk": {
"version": "1.16.1",
"resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz",
"integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=",
"version": "1.17.0",
"resolved": "https://registry.npmmirror.com/sshpk/-/sshpk-1.17.0.tgz",
"integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
"requires": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
......@@ -3105,8 +1297,8 @@
},
"tough-cookie": {
"version": "2.5.0",
"resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz",
"integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=",
"resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-2.5.0.tgz",
"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
"requires": {
"psl": "^1.1.28",
"punycode": "^2.1.1"
......@@ -3114,16 +1306,16 @@
},
"tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"resolved": "https://registry.npmmirror.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
"requires": {
"safe-buffer": "^5.0.1"
}
},
"tweetnacl": {
"version": "0.14.5",
"resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
"resolved": "https://registry.npmmirror.com/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="
},
"type-is": {
"version": "1.6.18",
......@@ -3141,8 +1333,8 @@
},
"uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz?cache=0&sync_timestamp=1610237586670&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.1.tgz",
"integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=",
"resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"requires": {
"punycode": "^2.1.0"
}
......@@ -3159,8 +1351,8 @@
},
"uuid": {
"version": "3.4.0",
"resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1607460052228&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz",
"integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4="
"resolved": "https://registry.npmmirror.com/uuid/-/uuid-3.4.0.tgz",
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
},
"vary": {
"version": "1.1.2",
......@@ -3169,8 +1361,8 @@
},
"verror": {
"version": "1.10.0",
"resolved": "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"resolved": "https://registry.npmmirror.com/verror/-/verror-1.10.0.tgz",
"integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
"requires": {
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
......
......@@ -20,7 +20,7 @@
"node-xlsx": "^0.16.1",
"nodemailer": "^6.1.1",
"redis": "^4.1.0",
"request": "^2.88.0",
"request": "^2.88.2",
"svg-captcha": "^1.3.12",
"ws": "^5.2.2"
},
......
<!DOCTYPE html><html lang=en><head><meta charset=UTF-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1user-scalable=no"><title></title><link rel=icon href=../../favicon.ico><link href=../../styles/2.css rel=stylesheet><link href=../../styles/3.css rel=stylesheet><link href=../../static/styles/1.923400f5.css rel=stylesheet></head><body><div id=app></div><script src=../../static/js/2_4f236eaf.js></script><script src=../../static/js/0_4f172f21.js></script><script src=../../static/js/3_96ae135f.js></script><script src=../../static/js/1_f3944c88.js></script></body></html>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
/*! Fusion-init */.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translateZ(0);transform:translateZ(0)}.swiper-container-multirow>.swiper-wrapper{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height,-webkit-transform;transition-property:height,-webkit-transform;transition-property:transform,height;transition-property:transform,height,-webkit-transform}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(270deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(90deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(0deg,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent)}.swiper-container-wp8-horizontal,.swiper-container-wp8-horizontal>.swiper-wrapper{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-container-wp8-vertical,.swiper-container-wp8-vertical>.swiper-wrapper{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background-position:50%;background-repeat:no-repeat}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z' fill='%23007aff'/%3E%3C/svg%3E");left:10px;right:auto}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z' fill='%23007aff'/%3E%3C/svg%3E");right:10px;left:auto}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z' fill='%23fff'/%3E%3C/svg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z' fill='%23fff'/%3E%3C/svg%3E")}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z'/%3E%3C/svg%3E")}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z'/%3E%3C/svg%3E")}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transform:scale(.33);transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{-webkit-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{-webkit-transform:scale(.66);transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{-webkit-transform:scale(.33);transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{-webkit-transform:scale(.66);transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{-webkit-transform:scale(.33);transform:scale(.33)}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:#007aff}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;-webkit-transition:top .2s,-webkit-transform .2s;transition:top .2s,-webkit-transform .2s;transition:transform .2s,top .2s;transition:transform .2s,top .2s,-webkit-transform .2s}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:left .2s,-webkit-transform .2s;transition:left .2s,-webkit-transform .2s;transition:transform .2s,left .2s;transition:transform .2s,left .2s,-webkit-transform .2s}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:right .2s,-webkit-transform .2s;transition:right .2s,-webkit-transform .2s;transition:transform .2s,right .2s;transition:transform .2s,right .2s,-webkit-transform .2s}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-container-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}.swiper-pagination-progressbar.swiper-pagination-white{background:hsla(0,0%,100%,.25)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-pagination-progressbar.swiper-pagination-black{background:rgba(0,0,0,.25)}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12) infinite;animation:swiper-preloader-spin 1s steps(12) infinite}.swiper-lazy-preloader:after{display:block;content:"";width:100%;height:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' stroke='%236c6c6c' stroke-width='11' stroke-linecap='round' d='M60 7v20'/%3E%3C/defs%3E%3Cuse xlink:href='%23a' opacity='.27'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(30 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(60 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(90 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(120 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(150 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.37' transform='rotate(180 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.46' transform='rotate(210 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.56' transform='rotate(240 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.66' transform='rotate(270 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.75' transform='rotate(300 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.85' transform='rotate(330 60 60)'/%3E%3C/svg%3E");background-position:50%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' stroke='%23fff' stroke-width='11' stroke-linecap='round' d='M60 7v20'/%3E%3C/defs%3E%3Cuse xlink:href='%23a' opacity='.27'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(30 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(60 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(90 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(120 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.27' transform='rotate(150 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.37' transform='rotate(180 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.46' transform='rotate(210 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.56' transform='rotate(240 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.66' transform='rotate(270 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.75' transform='rotate(300 60 60)'/%3E%3Cuse xlink:href='%23a' opacity='.85' transform='rotate(330 60 60)'/%3E%3C/svg%3E")}@-webkit-keyframes swiper-preloader-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes swiper-preloader-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;-webkit-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-flip{overflow:visible}.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-coverflow .swiper-wrapper{-ms-perspective:1200px}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
{}
\ No newline at end of file
{"e6e4aaaf-2184-4be4-adb9-4e8f5c15dbb5":{"sub":"e6e4aaaf-2184-4be4-adb9-4e8f5c15dbb5","id":1,"phone":"18918589400","otherPage":true,"name":"吴靖","isAdmin":true,"pm":{"1":true,"2":true,"3":true,"11":true}}}
\ No newline at end of file
......@@ -3,115 +3,83 @@
*/
import { getChartOutData, getKeyStringValueOutData, getListOutData } from "../../cal/out";
import { getHealthData } from "../../data/interface/secondPhase/healthInformation";
import { getReflectionData } from "../out";
import * as defaultConf from "../../config/healthConfig";
import { getDataStatistics, getDayStuData, getDeadline, getDefferentSymptomsTypeList, getDifferentDistrictStuNum, getDifferentSchoolStuNum, getHealthRate, getHighIncidenceData, getHistoricalHealthData, getMapDistrictServiceData, getMonthStuData, getNotice, getStuData, getSymptomRanking, getTodayReportList } from "../../data/interface/secondPhase/healthInformation";
export async function getData(req, res) {
let ret:any = {};
//学生数班级数, 不同年级上报学生数(按天), 不同年级上报学生数(按月), 不同学校上报学生数, 不同症状上报学生数, 不同行政区上报学生数, 数据统计, 今日上报列表
let {stuData, dayStuData, monthStuData, differentSchoolType, differentSchoolStuNum, defferentSymptomsTypeList, differentDistrictStuNum, dataStatistics, todayReportList} = await getHealthData();
// let {stuData, dayStuData, monthStuData, differentSchoolType, differentSchoolStuNum, defferentSymptomsTypeList, differentDistrictStuNum,
// dataStatistics, deadline, todayReportList, mapDistrictServiceData, highIncidenceData, symptomTypes, symptomRanking, notice, healthRate} = getHealthData();
let stuData = await getStuData();
ret["xssbjs"] = getKeyStringValueOutData("各年级健康上报情况总数", stuData);
ret["gnjjksbqsfx"] = getChartOutData("各年级健康上报趋势分析", {"日": {unit:"", dataInfo:dayStuData}, "月": {unit: "", dataInfo: monthStuData}});
let dayStuData = await getDayStuData();
let monthStuData = await getMonthStuData();
console.log("monthStuData" +JSON.stringify(monthStuData));
ret["gnjjksbqsfx"] = getChartOutData("各年级健康上报趋势分析", {"日": {unit:"", dataInfo:dayStuData}, "月": {unit: "", dataInfo:monthStuData}});
let differentSchoolType = ["幼儿园","托育机构","早教中心","托儿所","小学","初级中学","高级中学","中职校","完中","九年一贯制","十年一贯制","十二年一贯制","其他"];
ret["gxdlx"] = differentSchoolType;
let differentSchoolStuNum = await getDifferentSchoolStuNum()
ret["gxdzzrsqk"] = getKeyStringValueOutData("各学段症状人数情况", differentSchoolStuNum);
let glzzrsyjData = {};
let defferentSymptomsTypeList = await getDefferentSymptomsTypeList();
let defferentSymptomsTypeData = {};
for(let key in defferentSymptomsTypeList) {
if (defferentSymptomsTypeList[key]["list"]) defferentSymptomsTypeData[key] = { unit: "", dataInfo: defferentSymptomsTypeList[key]["list"]};
}
let glzzrsyjChartData = getChartOutData("各类症状人数预警", defferentSymptomsTypeData);
let glzzrsyjDataList = glzzrsyjChartData["dataList"];
let glzzrsyjData = {title:"各类症状人数预警", dataList: []};
glzzrsyjDataList.forEach( item => {
let title = item.title;
for(let key in defferentSymptomsTypeList) {
glzzrsyjData[key] = { unit: "", dataInfo: defferentSymptomsTypeList[key]};
if(title == key) {
item["earlyWarningNum"] = defferentSymptomsTypeList[key]["earlyWarningNum"];
glzzrsyjData["dataList"].push(item);
}
ret["glzzrsyj"] = getChartOutData("各类症状人数预警", glzzrsyjData);
}
})
ret["glzzrsyj"] = glzzrsyjChartData;
let gfzzsjdData = defaultConf.HighSymptomTimeDefault;
ret["gfzzsjd"] = getChartOutData("高发症状时间段", {"高发症状时间段": {unit:"", dataInfo:gfzzsjdData}});
let highIncidenceData = await getHighIncidenceData();
ret["gfzzsjd"] = getChartOutData("高发症状时间段", {"高发症状时间段": {unit:"", dataInfo:highIncidenceData}});
let dataStatistics = await getDataStatistics();
let dtjcsjData = getKeyStringValueOutData("地图基础数据", dataStatistics);
dtjcsjData["deadline"] = "03-26 12:23";
let deadline = await getDeadline();
dtjcsjData["deadline"] = deadline;
ret["dtjcsj"] = dtjcsjData;
let dtData = defaultConf.MapDataDefault;
let dtData = await getMapDistrictServiceData();
ret["dt"] = getReflectionData("地图坐标数据", dtData, "");
ret["gg"] = defaultConf.NoticeDefault;
ret["gg"] = await getNotice();
let todayReportList = await getTodayReportList();
ret["jrsblb"] = getListOutData("今日上报列表", todayReportList);
// let qyjksbqkData = [
// {
// "key": "浦东",
// "value": 132,
// },
// {
// "key": "长宁",
// "value": 201,
// },
// {
// "key": "徐汇",
// "value": 137,
// },
// {
// "key": "闵行",
// "value": 189,
// },
// {
// "key": "静安",
// "value": 172,
// },
// {
// "key": "杨浦",
// "value": 127,
// }
// ]
// let xxjksbqkData = [
// {
// "key": "*****学校",
// "value": 132,
// },
// {
// "key": "***学校",
// "value": 201,
// },
// {
// "key": "*****学校",
// "value": 137,
// },
// {
// "key": "***学校",
// "value": 189,
// },
// {
// "key": "******学校",
// "value": 172,
// },
// {
// "key": "****学校",
// "value": 127,
// }
// ]
ret["jksbqk"] = getChartOutData("健康上报情况", {"区域": {unit:"", dataInfo:differentDistrictStuNum}, "学校": {unit:"", dataInfo:differentSchoolStuNum}});
let zzlxfxData = defaultConf.SymptomTypeAnalysisDefault;
ret["zzlxfx"] = getKeyStringValueOutData("症状类型分析", zzlxfxData);
let zzphData = defaultConf.SymptomTypeAnalysisDefault;
ret["zzph"] = getKeyStringValueOutData("症状排行", zzphData);
let lsjksjjkl = defaultConf.HealthRateDefault;
ret["lsjksjjkl"] = getKeyStringValueOutData("历史健康数据分析健康率", lsjksjjkl);
let healthRateType = ["幼儿园","托育机构","早教中心","托儿所","小学","初级中学","高级中学","中职校","完中","九年一贯制","十年一贯制","十二年一贯制","其他"];
let healthRateData = defaultConf.HistoricalHealthDataDefault
let lsjksjData = {};
for(let type = 0; type < healthRateType.length; type++) {
lsjksjData[healthRateType[type]] = {unit: "", dataInfo:healthRateData}
}
let differentDistrictStuNum = await getDifferentDistrictStuNum();
ret["jksbqk"] = getChartOutData("健康上报情况", {"区域": {unit:"", dataInfo:differentDistrictStuNum}});
let {symptomTypes, symptomRanking} = await getSymptomRanking();
ret["zzlxfx"] = getKeyStringValueOutData("症状类型分析", symptomTypes);
ret["zzph"] = getKeyStringValueOutData("症状排行", symptomRanking);
let healthRate = await getHealthRate();
ret["lsjksjjkl"] = getKeyStringValueOutData("历史健康数据分析健康率", healthRate);
ret["lsjksj"] = getChartOutData("历史健康数据分析趋势", lsjksjData);
let historicalHealthData = await getHistoricalHealthData();
ret["lsjksj"] = getChartOutData("历史健康数据分析趋势", historicalHealthData);
res.send(ret);
......
......@@ -7,9 +7,9 @@ import { getWorkstationData } from "../../data/interface/secondPhase/workstation
import * as defaultConf from "../../config/workstationConfig";
export async function getData(req, res) {
export function getData(req, res) {
let ret:any = {};
let {} = await getWorkstationData();
let {} = getWorkstationData();
let zsqkData = defaultConf.EnrollmentSituationDefault;
ret["zsqk"] = getKeyStringValueOutData("招生情况", zsqkData);
......
......@@ -7,11 +7,11 @@ import { getWorkstationPopupData } from "../../data/interface/secondPhase/workst
import * as defaultConf from "../../config/workstationPopupConfig";
export async function getData(req, res) {
export function getData(req, res) {
let id = req.query.id || "上海交通大学能源科技与未来城市实践工作站";
let ret:any = {};
let {招生情况} = await getWorkstationPopupData(id);
let {招生情况} = getWorkstationPopupData(id);
let jcsjData = defaultConf.baseDefault;
......
import { PAGEENUM, SYSTEMERRORENUM } from "../config/enum";
import { PAGEENUM, PAGEENUM1, PAGEENUM2, PAGEENUM3, SYSTEMERRORENUM } from "../config/enum";
import { addTokenInfo, addUserInfo, checkAdminPermission, checkPagePermission, selectUserList, updateUser } from "../data/user/user";
import { uacInfomation } from "../serverConfig";
import { BizError } from "../util/bizError";
......@@ -18,6 +18,7 @@ export async function getUserToken(req, res) {
let token;
if (result.error) {
console.log();
throw new BizError(SYSTEMERRORENUM.您的登录已失效);
} else if (result.access_token) { //获取用户信息
let { isAdmin, sub, real_name, phone, otherPage } = await getUserInfo(result.access_token);
......@@ -143,12 +144,33 @@ export async function permissionList(req, res) {
});
if (select.length > 60) throw new BizError(SYSTEMERRORENUM.参数错误);
let config = [];
let config1 = [];
for(let key in PAGEENUM1) {
let enumValue:any = PAGEENUM1[key];
if (!isNaN(enumValue)) {
config1.push({
value:enumValue,
lab:key
});
}
}
for(let key in PAGEENUM) {
let enumValue:any = PAGEENUM[key];
let config2 = [];
for(let key in PAGEENUM2) {
let enumValue:any = PAGEENUM2[key];
if (!isNaN(enumValue)) {
config2.push({
value:enumValue,
lab:key
});
}
}
let config3 = [];
for(let key in PAGEENUM3) {
let enumValue:any = PAGEENUM3[key];
if (!isNaN(enumValue)) {
config.push({
config3.push({
value:enumValue,
lab:key
});
......@@ -173,6 +195,6 @@ export async function permissionList(req, res) {
result.push(addInfo);
});
res.success({config, userList:result, count:allUser.length, name:req.headers.username});
res.success({config1, config2, config3, userList:result, count:allUser.length, name:req.headers.username});
}
\ No newline at end of file
......@@ -20,7 +20,28 @@ export enum TYPEENUM {
export enum PAGEENUM {
数字治理体系 = 1,
整体运行态势 = 2,
重要活动保障 = 3
重要活动保障 = 3,
健康 = 11,
创新实践工作站 = 21,
}
export enum PAGEENUM1 {
数字治理体系 = 1,
整体运行态势 = 2,
重要活动保障 = 3,
}
export enum PAGEENUM2 {
健康 = 11,
}
export enum PAGEENUM3 {
创新实践工作站 = 21,
}
export enum INTERFACEREQUESTTYPEENUM {
即时更新 = 1,
定时更新
}
let systemErrorMsgMap = {};
......
......@@ -2,11 +2,14 @@
* --------------------------学校健康信息监测-----------------------------
*/
import moment = require("moment");
/**
* 学生数班级数
* url: /dataengine-center-oneservice/list/1342551525711858104
*/
export const StuDataDefault = [
export const StuDataDefault = {
data:[
{
mc: "xss",
sl: "6214"
......@@ -15,7 +18,9 @@ export const StuDataDefault = [
mc: "bjs",
sl: "3671"
}
]
]
}
/**
......@@ -24,7 +29,8 @@ export const StuDataDefault = [
* 年级 = ["托小班", "小班", "中班", "大班", "一年级", "二年级", "三年级", "四年级", "五年级", "六年级", "七年级", "八年级", "九年级", "高一", "高二",
* "高三", "中职21级", "中职22级", "社会", "特教", "高预"]
*/
export const DayStuDataDefault = [
export const DayStuDataDefault = {
data: [
{
"njmc": "托小班",
"xss": "20"
......@@ -73,14 +79,16 @@ export const DayStuDataDefault = [
"njmc": "八年级",
"xss": "14"
},
];
]
};
/**
* 不同年级上报学生数(按月)
* url: /dataengine-center-oneservice/list/1346636836747266576
*/
export const MonthStuDataDefault = [
export const MonthStuDataDefault = {
data: [
{
"njmc": "托小班",
"xss": "20"
......@@ -133,7 +141,8 @@ export const MonthStuDataDefault = [
"njmc": "初级中学",
"xss": "27"
},
];
]
};
/**
......@@ -142,7 +151,8 @@ export const MonthStuDataDefault = [
* [{"xqmc": "上海市徐汇区华建幼儿园", "xss": "1"},
{"xqmc": "上海市长宁区长华儿园", "xss": "1"}, ...]
*/
export const DifferentSchoolStuNumDefault = [
export const DifferentSchoolStuNumDefault = {
data: [
{
"xqmc": "上海市徐汇区华建幼儿园",
"xss": "2203"
......@@ -167,14 +177,16 @@ export const DifferentSchoolStuNumDefault = [
"xqmc": "上海市长宁区长华儿园",
"xss": "1102"
},
]
]
};
/**
* 不同症状上报学生数
* url: /dataengine-center-oneservice/list/1342803642723781086
*/
export const DefferentSymptomsStuNumDefault = [
export const DefferentSymptomsStuNumDefault = {
data: [
{
"xss": "78",
"sj": "8:45"
......@@ -199,14 +211,51 @@ export const DefferentSymptomsStuNumDefault = [
"xss": "86",
"sj": "10:00"
},
];
]
}
/**
* 各类症状预警值
* url: /dataengine-center-oneservice/list/1342803642723781086
*/
export const SymptomWarningValueDefault = {
data: [
{
"zz": "上呼吸道症状",
"yjz": "12531"
},
{
"zz": "发热",
"yjz": "8115"
},
{
"zz": "常见疾病",
"yjz": "1996"
},
{
"zz": "消化道症状",
"yjz": "6212"
},
{
"zz": "神经系统症状",
"yjz": "4280"
},
{
"zz": "其他原因",
"yjz": "18536"
}
]
}
/**
* 不同行政区上报学生数
* url: /dataengine-center-oneservice/list/1342804920948410855
*/
export const DifferentDistrictStuNumDefault = [
export const DifferentDistrictStuNumDefault = {
data: [
{
"xss": "105",
"xzq": "奉贤区"
......@@ -231,27 +280,44 @@ export const DifferentDistrictStuNumDefault = [
"xss": "97",
"xzq": "静安区"
},
];
]
};
/**
* 数据统计
* url: /dataengine-center-oneservice/list/1342805548139465199
*/
export const DataStatisticsDefault = [
export const DataStatisticsDefault = {
data: [
{
"sbs": "5088",
"ycrs": "4735",
"jhl": "5088"
}
];
]
};
/**
* 更新时间
* url: /dataengine-center-oneservice/list/1342805548139465199
*/
export const DeadlineDefault = {
data: [
{
"updatetime": moment(new Date().valueOf()).format("YYYY-MM-DD HH:mm:ss"),
}
]
};
/**
* 今日上报列表
* url: /dataengine-center-oneservice/list/1342805887678859772
*/
export const TodayReportListDefault = [
export const TodayReportListDefault = {
data: [
{
"bjmc": "九年级3班",
"yy": "咳嗽\",\"咽痛",
......@@ -268,267 +334,297 @@ export const TodayReportListDefault = [
"xzq": "长宁区",
"xxmc": "上海市仙霞高级中学"
}
];
]
};
/**
* 高发症状时间段
* url: 暂无接口数据
*/
export const HighSymptomTimeDefault = [
export const HighSymptomTimeDefault = {
data: [
{
"key": "8:45",
"value": 122,
"xs": "8",
"rsnum": 0,
},
{
"key": "9:00",
"value": 101,
"xs": "9",
"rsnum": 0,
},
{
"key": "9:15",
"value": 37,
"xs": "10",
"rsnum": 0,
},
{
"key": "9:30",
"value": 89,
"xs": "11",
"rsnum": 0,
},
{
"key": "9:45",
"value": 72,
"xs": "12",
"rsnum": 0,
},
{
"key": "10:00",
"value": 127,
"xs": "13",
"rsnum": 0,
}
];
]
};
/**
* 地图坐标数据
* url: 暂无接口数据
*/
export const MapDataDefault = [
export const MapDistrictDataDefault = [
{
"name": "黄埔区",
"lng": "121.469240",
"lat": "31.229860",
"reportedNum": "124",
"schoolInfo": [
{
"name": "上海市徐汇中学",
"lng": "121.469240",
"lat": "31.229860",
"reportedNum": "13",
"abnormalHealth": "19",
"abnormalClass": "四年级(5),四年级(6),五年级(1)",
"abnormalSymptoms": "发热 | 咳嗽 | 头疼 | 流涕",
},
]
"reportedNum": "0",
"warningValue": "30",
"schoolInfo": []
},
{
"name": "徐汇区",
"lng": "121.437866",
"lat": "31.199190",
"reportedNum": "124",
"schoolInfo": [
{
"name": "上海市徐汇中学",
"lng": "121.469240",
"lat": "31.229860",
"reportedNum": "13",
"abnormalHealth": "19",
"abnormalClass": "四年级(5),四年级(6),五年级(1)",
"abnormalSymptoms": "发热 | 咳嗽 | 头疼 | 流涕",
},
{
"name": "上海市徐汇中学",
"lng": "121.469240",
"lat": "31.229860",
"reportedNum": "13",
"abnormalHealth": "19",
"abnormalClass": "四年级(5),四年级(6),五年级(1)",
"abnormalSymptoms": "发热 | 咳嗽 | 头疼 | 流涕",
},
]
"reportedNum": "0",
"warningValue": "30",
"schoolInfo": []
},
{
"name": "长宁区",
"lng": "121.424624",
"lat": "31.220367",
"reportedNum": "124",
"schoolInfo": [
{
"name": "上海市徐汇中学",
"lng": "121.469240",
"lat": "31.229860",
"reportedNum": "13",
"abnormalHealth": "19",
"abnormalClass": "四年级(5),四年级(6),五年级(1)",
"abnormalSymptoms": "发热 | 咳嗽 | 头疼 | 流涕",
},
{
"name": "上海市徐汇中学",
"lng": "121.469240",
"lat": "31.229860",
"reportedNum": "13",
"abnormalHealth": "19",
"abnormalClass": "四年级(5),四年级(6),五年级(1)",
"abnormalSymptoms": "发热 | 咳嗽 | 头疼 | 流涕",
},
]
"reportedNum": "0",
"warningValue": "30",
"schoolInfo": []
},
{
"name": "静安区",
"lng": "121.459384",
"lat": "31.247105",
"reportedNum": "124",
"reportedNum": "0",
"warningValue": "30",
"schoolInfo": []
},
{
"name": "普陀区",
"lng": "121.395555",
"lat": "31.249840",
"reportedNum": "124",
"reportedNum": "0",
"warningValue": "30",
"schoolInfo": []
},
{
"name": "虹口区",
"lng": "121.505133",
"lat": "31.264600",
"reportedNum": "124",
"reportedNum": "0",
"warningValue": "30",
"schoolInfo": []
},
{
"name": "杨浦区",
"lng": "121.526077",
"lat": "31.259541",
"reportedNum": "124",
"reportedNum": "0",
"warningValue": "30",
"schoolInfo": []
},
{
"name": "闵行区",
"lng": "121.381709",
"lat": "31.112813",
"reportedNum": "124",
"reportedNum": "0",
"warningValue": "30",
"schoolInfo": []
},
{
"name": "宝山区",
"lng": "121.489612",
"lat": "31.405457",
"reportedNum": "124",
"reportedNum": "0",
"warningValue": "30",
"schoolInfo": []
},
{
"name": "嘉定区",
"lng": "121.265300",
"lat": "31.375602",
"reportedNum": "124",
"reportedNum": "0",
"warningValue": "30",
"schoolInfo": []
},
{
"name": "浦东新区",
"lng": "121.544379",
"lat": "31.221517",
"reportedNum": "124",
"reportedNum": "0",
"warningValue": "30",
"schoolInfo": []
},
{
"name": "金山区",
"lng": "121.341970",
"lat": "30.741991",
"reportedNum": "124",
"reportedNum": "0",
"warningValue": "30",
"schoolInfo": []
},
{
"name": "松江区",
"lng": "121.227747",
"lat": "31.032243",
"reportedNum": "124",
"reportedNum": "0",
"warningValue": "30",
"schoolInfo": []
},
{
"name": "青浦区",
"lng": "121.124178",
"lat": "31.150681",
"reportedNum": "124",
"reportedNum": "0",
"warningValue": "30",
"schoolInfo": []
},
{
"name": "奉贤区",
"lng": "121.474042",
"lat": "30.917795",
"reportedNum": "124",
"reportedNum": "0",
"warningValue": "30",
"schoolInfo": []
},
{
"name": "崇明区",
"lng": "121.397417",
"lat": "31.623587",
"reportedNum": "124",
"reportedNum": "0",
"warningValue": "30",
"schoolInfo": []
}
];
/**--------------地图----------------- */
export const MapSchoolDataDefault = {
data: [
{
"yczz": "发热,上呼吸道症状,常见疾病,神经系统症状,消化道症状",
"ycbj": "七年级1班,九年级4班,六年级5班,六年级6班",
"ycrs": "8",
"sbrs": "8",
"xxmc": "上海交通大学附属黄埔实验中学",
"xzq": "黄浦区"
},
{
"yczz": "发热,上呼吸道症状,常见疾病,神经系统症状,消化道症状",
"ycbj": "七年级1班,九年级4班,六年级5班,六年级6班",
"ycrs": "9",
"sbrs": "8",
"xxmc": "上海交通大学附属黄埔实验中学",
"xzq": "黄浦区"
},
{
"yczz": "发热,上呼吸道症状,常见疾病,神经系统症状,消化道症状",
"ycbj": "七年级1班,九年级4班,六年级5班,六年级6班",
"ycrs": "18",
"sbrs": "2",
"xxmc": "上海交通大学附属黄埔实验中学",
"xzq": "黄浦区"
},
]
}
/**
* 公告
* url: 暂无接口数据
*/
export const NoticeDefault = "1.加强健康监测。做好病例监测报告,加强晨午检制度、因病缺勤登记制度。";
export const NoticeDefault = {
data: "1.加强健康监测。做好病例监测报告,加强晨午检制度、因病缺勤登记制度。"
};
/**
* 症状排行
* 症状类型分析
* url: 暂无接口数据
*/
// export const SymptomTypeAnalysisDefault = {
// "上呼吸道": "16",
// "消化道": "21",
// "神经系统": "34",
// "发热": "63"
// }
export const SymptomTypeAnalysisDefault = {
"上呼吸道": "16",
"消化道": "21",
"神经系统": "34",
"发热": "63"
data: [
{
"yy": "体温≥37℃",
"xss": "106"
},
{
"yy": "头疼",
"xss": "61"
},
{
"yy": "流涕",
"xss": "137"
},
{
"yy": "咳嗽",
"xss": "97"
},
{
"yy": "体温≥38℃",
"xss": "29"
},
]
}
/**
* 症状排行
* url: 暂无接口数据
*/
// export const SymptomRankingDefault = {
// "体温≥37℃": "106",
// "咳嗽": "102",
// "流涕": "97",
// "头疼": "61",
// "体温≥38℃": "13",
// }
/**
* 历史健康数据分析——健康率
* url: 暂无接口数据
* url: /dataengine-center-oneservice/list/1347441938151164521
*/
export const HealthRateDefault = {
"健康率": "78%"
};
data: [
{
"jkl": "78%"
}
]
}
/**
* 历史健康数据分析趋势
* url: 暂无接口数据
* url: /dataengine-center-oneservice/list/1347441899216489062
*/
export const HistoricalHealthDataDefault = [
{
"key": "2017",
"value": 122,
},
{
"key": "2018",
"value": 101,
},
{
"key": "2019",
"value": 37,
},
export const HistoricalHealthDataDefault = {
data: [
{
"key": "2020",
"value": 89,
"month": "2023-02",
"xss": "172798"
},
{
"key": "2021",
"value": 72,
"month": "2023-03",
"xss": "256367"
},
{
"key": "2022",
"value": 127,
}
];
]
};
......
//接口任务 定期更新
// import * as request from 'request';
import { INTERFACEREQUESTTYPEENUM } from "../../config/enum";
import { BizError } from "../../util/bizError";
import { Config } from './interfaceConfig';
import { get, postForm } from '../../util/request';
const http = require('http');
const querystring = require('querystring');
//初始化接口数据
export function initInterfaceData() {
const InitTaskSuccess = taskUpdate();
// if (!InitTaskSuccess) throw new BizError("服务器启动失败: 初始化定时接口数据时出现问题 请检查目标服务器或本地请求配置");
const InitRealTimeSuccess = initRealTime();
// if (!InitRealTimeSuccess) throw new BizError("服务器启动失败: 初始化实时接口数据时出现问题 请检查目标服务器或本地请求配置");
console.log("初始化接口数据成功");
setInterval(() => {
taskUpdate();
}, 10000);
}
//异常接口 不更新数据
let errorInterfaceInfo = {};
//定时接口 数据更新情况
let updateInfo = {
"接口名称":{lastTime:0, updateUseTime:0},//使用时间是毫秒
};
//定时接口 缓存数据
let dataQueue = {};
function taskUpdate() {
let thisTaskInfo = [];//此次任务
let defaultUseTime = 60000;
let thisTime = new Date().valueOf();
let initSuccess = true;
for (let interfaceName in Config) {
const LastReqError = errorInterfaceInfo[interfaceName];
if (LastReqError) {
console.log(`${interfaceName} 请求时出现过 ${LastReqError} 异常 保险起见此次更新不再请求`);
continue;
}
const ThisConfig = Config[interfaceName];
if (ThisConfig.type == INTERFACEREQUESTTYPEENUM.即时更新) continue;
let lastTaskInfo = updateInfo[interfaceName];
if ( !lastTaskInfo ) thisTaskInfo.push({name:defaultUseTime, useTime:defaultUseTime});
else if ( lastTaskInfo && (thisTime - lastTaskInfo) > ThisConfig.time ) {
thisTaskInfo.push({name:defaultUseTime, useTime:lastTaskInfo.updateUseTime});
}
defaultUseTime += 1;
}
thisTaskInfo.sort((a, b) => {return a.useTime - b.useTime});//耗时短的优先
for (let i = 0; i < thisTaskInfo.length; i++) { //更新数据
let {name} = thisTaskInfo[i];
const ThisConfig = Config[name];
const StartTime = new Date().valueOf();
let reqRes;
switch(ThisConfig.reqType) {
case "get": reqRes = get(ThisConfig.url, ThisConfig.body, ThisConfig.header); break;
case "post": reqRes = post(ThisConfig.url, ThisConfig.body, ThisConfig.header); break;
case "postForm": reqRes = postForm(ThisConfig.url, ThisConfig.body, ThisConfig.header); break;
}
}
return initSuccess;
}
//即时数据缓存 当请求失败时会用到这里的数据
let realTimeDataQueue = {};
//即时数据初始化
function initRealTime() {
let initSuccess = true;
for (let interfaceName in Config) {
const ThisConfig = Config[interfaceName];
if (ThisConfig.type == INTERFACEREQUESTTYPEENUM.定时更新) continue;
let reqRes;
switch(ThisConfig.reqType) {
case "get": reqRes = get(ThisConfig.url, ThisConfig.body, ThisConfig.header); break;
case "post": reqRes = post(ThisConfig.url, ThisConfig.body, ThisConfig.header); break;
case "postForm": reqRes = postForm(ThisConfig.url, ThisConfig.body, ThisConfig.header); break;
}
if (!reqRes.success) {
console.log(`${interfaceName} 接口请求失败 请求地址为 ${ThisConfig.url} 失败原因 ${reqRes.message}`);
initSuccess = false;
}
realTimeDataQueue[interfaceName] = reqRes.data;
}
return initSuccess;
}
export function getInterfaceByInterfaceName(name, body?, header?) {
const ThisConfig = Config[name];
if (ThisConfig.type == INTERFACEREQUESTTYPEENUM.即时更新) {
let reqRes;
let reqBody = Object.assign( ThisConfig.body|| {}, body || {});
let reqHeader = Object.assign( ThisConfig.header|| {}, header || {});
switch(ThisConfig.reqType) {
case "get": reqRes = get(ThisConfig.url, reqBody, reqHeader); break;
case "post": reqRes = post(ThisConfig.url, reqBody, reqHeader); break;
case "postForm": reqRes = postForm(ThisConfig.url, reqBody, reqHeader); break;
}
let data = reqRes;
return data;
}
}
export function post(url, requestData, headers) {
return new Promise((resolve, reject) => {
let options = {
method: 'POST',
headers: headers
};
let req = http.request(url, options, res => {
let responseData = '';
res.on('data', (chunk) => {
responseData += chunk;
});
res.on('end', ()=> {
resolve(JSON.parse(responseData));
})
res.on('error', (err)=> {
reject(err);
})
});
req.write(JSON.stringify(requestData));
req.end();
})
}
......@@ -69,6 +69,8 @@ export async function getSzjltxData() {
return { sjzl, sjzc, sjlyInfo };
}
//整体运行态势
export async function getZtyxtsData() {
await get获取token();
......
import { INTERFACEREQUESTTYPEENUM } from "../../config/enum";
const md5 = require("md5");
//配置
// "接口名称":{
// type:"1是即时更新 2是即时更新 使用 INTERFACErEQUESTTYPEENUM",
// time:"更新频率毫秒 例如1小时这里就是 3600000",
// url:"url地址",
// reqType:"get还是post get = get post = post",
// header:{},
// body:{}
// }
// let token = "df399738-1572-4c45-bdf3-c2d2c428fa62";
let token = "9c5e468b-eca1-48a8-a1fa-5215db2c3cc5";
// let sign = md5(`apiId=1342551525711858104&appKey=${appKey}&token=${token}`);
export const Config = {
"学生数班级数":{type:INTERFACEREQUESTTYPEENUM.即时更新, time:3600000*12,
url:'http://172.22.235.5:28080/dataengine-center-oneservice/list/1342551525711858104', reqType:'post',
headers:{'apiId':'1342551525711858104', 'appKey':'200000085', 'account':'yujc', 'execType':'3', 'env':'PROD',
'sign':'904d6e2b6bd5ef06e6699aef43c7c39a',
'accept':'application/json; charset=utf-8', 'Content-Type':'application/json'},
body:'{"apiId":"1342551525711858104", "appKey":"200000085", "pageNum":1, "pageSize":100, "execType":2, "conditions":{}, "returnFields":[], "reqProtocol":"1"}'
},
"不同年级上报学生数按日":{type:INTERFACEREQUESTTYPEENUM.即时更新, time:3600000*12,
url:"http://172.22.235.5:28080/dataengine-center-oneservice/list/1342555266359937472", reqType:"post",
headers:{'apiId':'1342555266359937472', 'appKey':'200000085', 'account':'yujc', 'execType':'3', 'env':'PROD',
'sign':'11740604b1f706930552d20816430664',
'accept':'application/json; charset=utf-8', 'Content-Type':'application/json'},
body:'{"apiId":"1342555266359937472", "appKey":"200000085", "pageNum":1, "pageSize":100, "execType":2, "conditions":{}, "returnFields":[], "reqProtocol":"1"}'
},
"不同年级上报学生数按月":{type:INTERFACEREQUESTTYPEENUM.即时更新, time:3600000*12,
url:"http://172.22.235.5:28080/dataengine-center-oneservice/list/1346636836747266576", reqType:"post",
headers:{'apiId':'1346636836747266576', 'appKey':'200000085', 'account':'yujc', 'execType':'3', 'env':'PROD',
'sign':'ddd9e4e04c71ff2e00a5155cfdedf0ff',
'accept':'application/json; charset=utf-8', 'Content-Type':'application/json'},
body:'{"apiId":"1346636836747266576", "appKey":"200000085", "pageNum":1, "pageSize":100, "execType":2, "conditions":{}, "returnFields":[], "reqProtocol":"1"}'
},
"不同学校上报学生数":{type:INTERFACEREQUESTTYPEENUM.即时更新, time:3600000*12,
url:"http://172.22.235.5:28080/dataengine-center-oneservice/list/1342556870501910984", reqType:"post",
headers:{'apiId':'1342556870501910984', 'appKey':'200000085', 'account':'yujc', 'execType':'3', 'env':'PROD',
'sign':'d6724cbd814903be9bbd86ca75a4d70c',
'accept':'application/json; charset=utf-8', 'Content-Type':'application/json'},
body:'{"apiId":"1342556870501910984", "appKey":"200000085", "pageNum":1, "pageSize":100, "execType":2, "conditions":{}, "returnFields":[], "reqProtocol":"1"}'
},
"不同症状上报学生数":{type:INTERFACEREQUESTTYPEENUM.即时更新, time:3600000*12,
url:"http://172.22.235.5:28080/dataengine-center-oneservice/list/1342803642723781086", reqType:"post",
headers:{'apiId':'1342803642723781086', 'appKey':'200000085', 'account':'yujc', 'execType':'3', 'env':'PROD',
'sign':'cf0dd34a8cdcd741902b8b01d71b68ee',
'accept':'application/json; charset=utf-8', 'Content-Type':'application/json'},
body:'{"apiId":"1342803642723781086", "appKey":"200000085", "pageNum":1, "pageSize":100, "execType":2, "conditions":{}, "returnFields":[], "reqProtocol":"1"}'
},
"不同行政区上报学生数":{type:INTERFACEREQUESTTYPEENUM.即时更新, time:3600000*12,
url:"http://172.22.235.5:28080/dataengine-center-oneservice/list/1342804920948410855", reqType:"post",
headers:{'apiId':'1342804920948410855', 'appKey':'200000085', 'account':'yujc', 'execType':'3', 'env':'PROD',
'sign':'8bc2cdc768fcabaf0b203e0fc7158556',
'accept':'application/json; charset=utf-8', 'Content-Type':'application/json'},
body:'{"apiId":"1342804920948410855", "appKey":"200000085", "pageNum":1, "pageSize":100, "execType":2, "conditions":{}, "returnFields":[], "reqProtocol":"1"}'
},
"数据统计":{type:INTERFACEREQUESTTYPEENUM.即时更新, time:3600000*12,
url:"http://172.22.235.5:28080/dataengine-center-oneservice/list/1342805548139465199", reqType:"post",
headers:{'apiId':'1342805548139465199', 'appKey':'200000085', 'account':'yujc', 'execType':'3', 'env':'PROD',
'sign':'22218944333d138a917e2ff100b16824',
'accept':'application/json; charset=utf-8', 'Content-Type':'application/json'},
body:'{"apiId":"1342805548139465199", "appKey":"200000085", "pageNum":1, "pageSize":100, "execType":2, "conditions":{}, "returnFields":[], "reqProtocol":"1"}'
},
"今日上报列表":{type:INTERFACEREQUESTTYPEENUM.即时更新, time:3600000*12,
url:"http://172.22.235.5:28080/dataengine-center-oneservice/list/1342805887678859772", reqType:"post",
headers:{'apiId':'1342805887678859772', 'appKey':'200000085', 'account':'yujc', 'execType':'3', 'env':'PROD',
'sign':'69458a19306cc0c1c1c1aa75135d1311',
'accept':'application/json; charset=utf-8', 'Content-Type':'application/json'},
body:'{"apiId":"1342805887678859772", "appKey":"200000085", "pageNum":1, "pageSize":100, "execType":2, "conditions":{}, "returnFields":[], "reqProtocol":"1"}'
},
"不同学校上报情况信息中间地图":{type:INTERFACEREQUESTTYPEENUM.即时更新, time:3600000*12,
url:"http://172.22.235.5:28080/dataengine-center-oneservice/list/1347349795650849304", reqType:"post",
headers:{'apiId':'1347349795650849304', 'appKey':'200000085', 'account':'yujc', 'execType':'3', 'env':'PROD',
'sign':'67d51ab3d606fab4a8a6afb9c3927f29',
'accept':'application/json; charset=utf-8', 'Content-Type':'application/json'},
body:'{"apiId":"1347349795650849304", "appKey":"200000085", "pageNum":1, "pageSize":100, "execType":2, "conditions":{}, "returnFields":[], "reqProtocol":"1"}'
},
"按时间段上报人数统计":{type:INTERFACEREQUESTTYPEENUM.即时更新, time:3600000*12,
url:"http://172.22.235.5:28080/dataengine-center-oneservice/list/1347422862296140339", reqType:"post",
headers:{'apiId':'1347422862296140339', 'appKey':'200000085', 'account':'yujc', 'execType':'3', 'env':'PROD',
'sign':'d3114e75e445901a7a8de550cc0e9d15',
'accept':'application/json; charset=utf-8', 'Content-Type':'application/json'},
body:'{"apiId":"1347422862296140339", "appKey":"200000085", "pageNum":1, "pageSize":100, "execType":2, "conditions":{}, "returnFields":[], "reqProtocol":"1"}'
},
"按原因人数统计":{type:INTERFACEREQUESTTYPEENUM.即时更新, time:3600000*12,
url:"http://172.22.235.5:28080/dataengine-center-oneservice/list/1347422986539813431", reqType:"post",
headers:{'apiId':'1347422986539813431', 'appKey':'200000085', 'account':'yujc', 'execType':'3', 'env':'PROD',
'sign':'1f0e7e3ff6a4aed8985941ab4b658f96',
'accept':'application/json; charset=utf-8', 'Content-Type':'application/json'},
body:'{"apiId":"1347422986539813431", "appKey":"200000085", "pageNum":1, "pageSize":100, "execType":2, "conditions":{}, "returnFields":[], "reqProtocol":"1"}'
},
"更新时间":{type:INTERFACEREQUESTTYPEENUM.即时更新, time:3600000*12,
url:"http://172.22.235.5:28080/dataengine-center-oneservice/list/1347423075057453626", reqType:"post",
headers:{'apiId':'1347423075057453626', 'appKey':'200000085', 'account':'yujc', 'execType':'3', 'env':'PROD',
'sign':'d562114f9e13093c64bb0a4321791798',
'accept':'application/json; charset=utf-8', 'Content-Type':'application/json'},
body:'{"apiId":"1347423075057453626", "appKey":"200000085", "pageNum":1, "pageSize":100, "execType":2, "conditions":{}, "returnFields":[], "reqProtocol":"1"}'
},
"自定义公告":{type:INTERFACEREQUESTTYPEENUM.即时更新, time:3600000*12,
url:"http://172.22.235.5:28080/dataengine-center-oneservice/list/1347423245371361852", reqType:"post",
headers:{'apiId':'1347423245371361852', 'appKey':'200000085', 'account':'yujc', 'execType':'3', 'env':'PROD',
'sign':'8de3e56a41d3ebbf8931db4938b0138b',
'accept':'application/json; charset=utf-8', 'Content-Type':'application/json'},
body:'{"apiId":"1347423245371361852", "appKey":"200000085", "pageNum":1, "pageSize":100, "execType":2, "conditions":{}, "returnFields":[], "reqProtocol":"1"}'
},
"各类症状预警值":{type:INTERFACEREQUESTTYPEENUM.即时更新, time:3600000*12,
url:"http://172.22.235.5:28080/dataengine-center-oneservice/list/1347426681171135056", reqType:"post",
headers:{'apiId':'1347426681171135056', 'appKey':'200000085', 'account':'yujc', 'execType':'3', 'env':'PROD',
'sign':'1ffac6ea5f384f407c36f59174de9509',
'accept':'application/json; charset=utf-8', 'Content-Type':'application/json'},
body:'{"apiId":"1347426681171135056", "appKey":"200000085", "pageNum":1, "pageSize":100, "execType":2, "conditions":{}, "returnFields":[], "reqProtocol":"1"}'
},
"按月统计上报人数":{type:INTERFACEREQUESTTYPEENUM.即时更新, time:3600000*12,
url:"http://172.22.235.5:28080/dataengine-center-oneservice/list/1347441899216489062", reqType:"post",
headers:{'apiId':'1347441899216489062', 'appKey':'200000085', 'account':'yujc', 'execType':'3', 'env':'PROD',
'sign':'beccfe71f2c1944b34cdb5fad3cc52f5',
'accept':'application/json; charset=utf-8', 'Content-Type':'application/json'},
body:'{"apiId":"1347441899216489062", "appKey":"200000085", "pageNum":1, "pageSize":100, "execType":2, "conditions":{}, "returnFields":[], "reqProtocol":"1"}'
},
"健康率":{type:INTERFACEREQUESTTYPEENUM.即时更新, time:3600000*12,
url:"http://172.22.235.5:28080/dataengine-center-oneservice/list/1347441938151164521", reqType:"post",
headers:{'apiId':'1347441938151164521', 'appKey':'200000085', 'account':'yujc', 'execType':'3', 'env':'PROD',
'sign':'9347b13d4d0f6f3704e4ef3aa59e4219',
'accept':'application/json; charset=utf-8', 'Content-Type':'application/json'},
body:'{"apiId":"1347441938151164521", "appKey":"200000085", "pageNum":1, "pageSize":100, "execType":2, "conditions":{}, "returnFields":[], "reqProtocol":"1"}'
},
}
......@@ -27,3 +27,10 @@ async function gettoken() {
}
}
import { BizError } from "../../../util/bizError";
import { post, postForm } from "../../../util/request";
import { getSecondPhaseUrl, getUrl, healthEnum, urlEnum } from "../url";
/**
* 学校健康信息监测
*/
import { getSecondPhaseUrl, healthEnum, healthTokenEnum } from "../url";
import * as defaultConf from "../../../config/healthConfig"
import { healthConfig } from "../../../serverConfig";
import moment = require("moment");
import { post } from "../cronJob";
const md5 = require("md5");
async function getBody(apiId) {
let body = {
apiId:"1342551525711858104",
appKey:"200000085",
env: "PROD",
function getParameter(apiId, token) {
const body = {
apiId,
appKey:200000085,
pageNum:1, //分页页数
pageSize:100, //每页大小
execType:"2", //固定值
execType:2, //固定值
conditions:{}, //where查询条件
returnFields: [],
reqProtocol: "1"
};
let token = "df399738-1572-4c45-bdf3-c2d2c428fa62";
let sign = md5(`${body.apiId}&${body.appKey}&${token}`);
body["sign"] = sign;
let headers = {
'apiId': '1342551525711858104',
'appKey': '200000085',
'account': 'yujc',
'execType': '3',
'env': 'PROD',
'sign': sign,
'accept': 'application/json;charset=utf-8',
'Content-Type': 'application/json'
// let token = "df399738-1572-4c45-bdf3-c2d2c428fa62";
// const token = "9c5e468b-eca1-48a8-a1fa-5215db2c3cc5";
const sign = md5(`apiId=${apiId}&appKey=200000085&token=${token}`);
const headers = {
apiId,
appKey:'200000085',
account:'yujc',
exexType:'3',
env:'PROD',
sign,
'Content-Type': 'application/json',
'accept': 'application/json; charset=utf-8',
}
return {body, headers};
}
//学校健康信息监测
export async function getHealthData() {
let {body, headers} = await getBody(healthEnum.学生数班级数);
export async function getStuData() {
let {body, headers} = getParameter(healthEnum.学生数班级数, healthTokenEnum.学生数班级数);
// let stuDataSource:any = await post(getSecondPhaseUrl(healthEnum.学生数班级数), body, headers);
let stuDataSource:any = defaultConf.StuDataDefault;
let stuDataSourceData:any = await post(getSecondPhaseUrl(healthEnum.学生数班级数), body, headers);
// let stuDataSourceData:any = await getInterfaceByInterfaceName("学生数班级数", body, headers);
let stuDataSource:any = stuDataSourceData || defaultConf.StuDataDefault;
let stuData = {};
stuDataSource.forEach( item => {
stuDataSource["data"].forEach( item => {
let {mc, sl} = item;
if (mc == "xss") {
stuData["学生数"] = sl;
......@@ -52,86 +56,161 @@ export async function getHealthData() {
stuData["班级数"] = sl;
}
})
console.log(stuData);
return stuData;
}
export async function getDayStuData() {
//日 昨天15点到今天15点
let 年级 = ["托小班", "小班", "中班", "大班", "一年级", "二年级", "三年级", "四年级", "五年级", "六年级", "七年级", "八年级", "九年级", "高一", "高二", "高三", "中职21级", "中职22级", "社会", "特教", "高预"]
//await post(getUrl(healthEnum.不同年级上报学生数按日), body, {})
let dayStuDataSource:any = defaultConf.DayStuDataDefault;
let {body, headers} = getParameter(healthEnum.不同年级上报学生数按日, healthTokenEnum.不同年级上报学生数按日);
let dayStuDataSourceData:any = await post(getSecondPhaseUrl(healthEnum.不同年级上报学生数按日), body, headers);
// let dayStuDataSourceData:any = await getInterfaceByInterfaceName("不同年级上报学生数按日", body, headers);
let dayStuDataSource:any = dayStuDataSourceData || defaultConf.DayStuDataDefault;
let dayStuData = [];
dayStuDataSource.forEach( item => {
dayStuDataSource["data"].forEach( item => {
let {njmc, xss} = item;
dayStuData.push({key:njmc, value:xss});
})
return dayStuData;
}
export async function getMonthStuData() {
//月 近一个月数据
//await post(getUrl(healthEnum.不同年级上报学生数按月), body, {})
let monthStuDataSource:any = defaultConf.MonthStuDataDefault;
let {body, headers} = getParameter(healthEnum.不同年级上报学生数按月, healthTokenEnum.不同年级上报学生数按月);
let monthStuDataSourceData:any = await post(getSecondPhaseUrl(healthEnum.不同年级上报学生数按月), body, headers);
// let monthStuDataSourceData = await getInterfaceByInterfaceName("不同年级上报学生数按月", body, headers);
let monthStuDataSource:any = monthStuDataSourceData || defaultConf.MonthStuDataDefault;
let monthStuData = [];
monthStuDataSource.forEach( item => {
monthStuDataSource["data"].forEach( item => {
let {njmc, xss} = item;
monthStuData.push({key:njmc, value:xss});
})
return monthStuData;
}
//参数:xxlx:"九年一贯制"
export async function getDifferentSchoolStuNum() {
//接口参数:xxlx:"九年一贯制"
let differentSchoolType = ["幼儿园","托育机构","早教中心","托儿所","小学","初级中学","高级中学","中职校","完中","九年一贯制","十年一贯制","十二年一贯制","其他"];
//let differentSchoolStuNumSource:any = await post(getUrl(healthEnum.不同学校上报学生数), body, {})
let {body, headers} = getParameter(healthEnum.不同学校上报学生数, healthTokenEnum.不同学校上报学生数);
// body["apiId"] = healthEnum.不同学校上报学生数;
let differentSchoolStuNum = {};
for(let type = 0; type < differentSchoolType.length; type++) {
body["conditions"] = {"xxlx": differentSchoolType[type]};
// let differentSchoolStuNumSource:any = await post(getUrl(healthEnum.不同学校上报学生数), body, {})
let differentSchoolStuNumSource:any = defaultConf.DifferentSchoolStuNumDefault;
differentSchoolStuNum[differentSchoolType[type]] = differentSchoolStuNumSource;
let differentSchoolStuNumSourceData:any = await post(getSecondPhaseUrl(healthEnum.不同学校上报学生数), body, headers)
// let differentSchoolStuNumSourceData = await getInterfaceByInterfaceName("不同学校上报学生数", body, headers);
let differentSchoolStuNumSource:any = differentSchoolStuNumSourceData || defaultConf.DifferentSchoolStuNumDefault;
differentSchoolStuNum[differentSchoolType[type]] = differentSchoolStuNumSource["data"];
}
// let differentSchoolStuNum = {};
// differentSchoolStuNumSource.forEach( item => {
// let {xqmc, xss} = item;
// differentSchoolStuNum[xqmc] = xss;
// })
//参数:name:"发热"
//await post(getUrl(healthEnum.不同症状上报学生数), body, {})
let defferentSymptomsType = ["上呼吸道症状", "发热", "常见疾病", "消化道症状", "神经系统症状"];
return differentSchoolStuNum;
}
export async function getDefferentSymptomsTypeList() {
//接口参数:name:"发热"
let {body, headers} = getParameter(healthEnum.不同症状上报学生数, healthTokenEnum.不同症状上报学生数);
//各类症状预警值
let earlyWarningNumSourceData:any = await post(getSecondPhaseUrl(healthEnum.各类症状预警值), getParameter(healthEnum.不同症状上报学生数, healthTokenEnum.不同症状上报学生数).body, getParameter(healthEnum.不同症状上报学生数, healthTokenEnum.不同症状上报学生数).headers);
// let earlyWarningNumSourceData = await getInterfaceByInterfaceName("各类症状预警值", getParameter(healthEnum.不同症状上报学生数, healthTokenEnum.不同症状上报学生数).body, getParameter(healthEnum.不同症状上报学生数, healthTokenEnum.不同症状上报学生数).headers);
let earlyWarningNumSource:any = earlyWarningNumSourceData || defaultConf.SymptomWarningValueDefault;
let defferentSymptomsTypeList = {};
for (let type = 0; type < defferentSymptomsType.length; type++) {
body["conditions"] = {"name": defferentSymptomsType[type]};
// let defferentSymptomsStuNumSource:any = await post(getUrl(healthEnum.不同症状上报学生数), body, {});
let defferentSymptomsStuNumSource:any = defaultConf.DefferentSymptomsStuNumDefault;
if (!defferentSymptomsTypeList[defferentSymptomsType[type]]) defferentSymptomsTypeList[defferentSymptomsType[type]] = [];
defferentSymptomsStuNumSource.forEach( item => {
for (let i = 0; i < earlyWarningNumSource["data"].length; i++) {
let warning = earlyWarningNumSource["data"][i];
let {zz, yjz} = warning;
body["conditions"] = {"name": zz};
let defferentSymptomsStuNumSourceData:any = await post(getSecondPhaseUrl(healthEnum.不同症状上报学生数), body, headers);
// let defferentSymptomsStuNumSourceData = await getInterfaceByInterfaceName("不同症状上报学生数", body, headers);
let defferentSymptomsStuNumSource:any = defferentSymptomsStuNumSourceData || defaultConf.DefferentSymptomsStuNumDefault;
if (!defferentSymptomsTypeList[zz]) defferentSymptomsTypeList[zz] = {};
defferentSymptomsTypeList[zz]["earlyWarningNum"] = yjz;
defferentSymptomsStuNumSource["data"].forEach( item => {
let {xss, sj} = item;
defferentSymptomsTypeList[defferentSymptomsType[type]].push({key: sj, value: xss});
if (!defferentSymptomsTypeList[zz]["list"]) defferentSymptomsTypeList[zz]["list"] = [];
defferentSymptomsTypeList[zz]["list"].push({key: sj, value: xss});
})
// defferentSymptomsTypeList[defferentSymptomsType[type]] = defferentSymptomsStuNumSource;
}
return defferentSymptomsTypeList;
}
export async function getDifferentDistrictStuNum() {
let {body, headers} = getParameter(healthEnum.不同行政区上报学生数, healthTokenEnum.不同行政区上报学生数);
let differentDistrictStuNumSourceData:any = await post(getSecondPhaseUrl(healthEnum.不同行政区上报学生数), body, headers)
// let differentDistrictStuNumSourceData = await getInterfaceByInterfaceName("不同行政区上报学生数", body, headers);
let differentDistrictStuNumSource:any = differentDistrictStuNumSourceData || defaultConf.DifferentDistrictStuNumDefault;
//await post(getUrl(healthEnum.不同行政区上报学生数), body, {})
let differentDistrictStuNumSource:any = defaultConf.DifferentDistrictStuNumDefault;
let differentDistrictStuNum = [];
differentDistrictStuNumSource.forEach( item => {
differentDistrictStuNumSource["data"].forEach( item => {
let {xss, xzq} = item;
differentDistrictStuNum.push({key: xzq, value: xss});
})
//await post(getUrl(healthEnum.数据统计), body, {})
let dataStatisticsSource:any = defaultConf.DataStatisticsDefault;
let {sbs, ycrs, jhl} = dataStatisticsSource[0];
return differentDistrictStuNum;
}
export async function getDataStatistics() {
let {body, headers} = getParameter(healthEnum.数据统计, healthTokenEnum.数据统计);
let dataStatisticsSourceData:any = await post(getSecondPhaseUrl(healthEnum.数据统计), body, headers);
// let dataStatisticsSourceData = await getInterfaceByInterfaceName("数据统计", body, headers);
let dataStatisticsSource:any = dataStatisticsSourceData || defaultConf.DataStatisticsDefault;
let {sbs, ycrs, jhl} = dataStatisticsSource["data"][0];
let dataStatistics = {"实时交换量": jhl, "今日上报数": sbs, "异常人数": ycrs};
//await post(getUrl(healthEnum.今日上报列表), body, {})
let todayReportListSource:any = defaultConf.TodayReportListDefault;
return dataStatistics;
}
export async function getDeadline() {
let {body, headers} = getParameter(healthEnum.更新时间, healthTokenEnum.更新时间);
let deadlineSourceData:any = await post(getSecondPhaseUrl(healthEnum.更新时间), body, headers);
// let deadlineSourceData = await getInterfaceByInterfaceName("更新时间", body, headers);
let deadlineSource:any = deadlineSourceData || defaultConf.DeadlineDefault;
if (!deadlineSource.data || deadlineSource.data.length == 0) deadlineSource = defaultConf.DeadlineDefault;
let updatetime = deadlineSource["data"][0]["updatetime"];
let deadline = moment(updatetime).format("MM-DD HH:DD:SS");
return deadline;
}
export async function getTodayReportList() {
let {body, headers} = getParameter(healthEnum.今日上报列表, healthTokenEnum.今日上报列表);
let todayReportListSourceData:any = await post(getSecondPhaseUrl(healthEnum.今日上报列表), body, headers);
// let todayReportListSourceData = await getInterfaceByInterfaceName("今日上报列表", body, headers);
let todayReportListSource:any = todayReportListSourceData || defaultConf.TodayReportListDefault;
let bjmcList = [];
let yyList = [];
let sbsjList = [];
let xmList = [];
let xzqList = [];
let xxmcList = [];
todayReportListSource.forEach( item => {
todayReportListSource["data"].forEach( item => {
let {bjmc, yy, sbsj, xm, xzq, xxmc} = item;
bjmcList.push(bjmc);
yyList.push(yy);
......@@ -151,7 +230,166 @@ export async function getHealthData() {
];
return todayReportList;
}
export async function getMapDistrictServiceData() {
let {body, headers} = getParameter(healthEnum.不同学校上报情况信息中间地图, healthTokenEnum.不同学校上报情况信息中间地图);
let mapDistrictListSource:any = defaultConf.MapDistrictDataDefault;
let mapDistrictServiceData = [];
for(let i = 0; i < mapDistrictListSource.length; i++) {
let item = mapDistrictListSource[i];
let {name} = item;
body["conditions"] = {"xzq": name};
let mapSchoolListSourceData:any = await post(getSecondPhaseUrl(healthEnum.不同学校上报情况信息中间地图), body, headers);
// let mapSchoolListSourceData:any = await getInterfaceByInterfaceName("不同学校上报情况信息中间地图", body, headers);
let mapSchoolListSource:any = mapSchoolListSourceData || defaultConf.MapSchoolDataDefault;
return {stuData, dayStuData, monthStuData, differentSchoolType, differentSchoolStuNum, defferentSymptomsTypeList, differentDistrictStuNum, dataStatistics, todayReportList};
let differentDistrictStuNumSourceData:any = await post(getSecondPhaseUrl(healthEnum.不同行政区上报学生数), getParameter(healthEnum.不同行政区上报学生数, healthTokenEnum.不同行政区上报学生数).body, getParameter(healthEnum.不同行政区上报学生数, healthTokenEnum.不同行政区上报学生数).headers);
// let differentDistrictStuNumSourceData:any = await getInterfaceByInterfaceName("不同行政区上报学生数", getParameter(healthEnum.不同行政区上报学生数, healthTokenEnum.不同行政区上报学生数).body, getParameter(healthEnum.不同行政区上报学生数, healthTokenEnum.不同行政区上报学生数).headers);
let differentDistrictStuNumSource:any = differentDistrictStuNumSourceData || defaultConf.DifferentDistrictStuNumDefault;
item["schoolInfo"] = mapSchoolListSource["data"];
differentDistrictStuNumSource["data"].forEach( info => {
let {xss, xzq} = info;
if (xzq == name) {
item["reportedNum"] = xss;
mapDistrictServiceData.push(item);
}
})
}
return mapDistrictServiceData;
}
export async function getHighIncidenceData() {
let {body, headers} = getParameter(healthEnum.按时间段上报人数统计, healthTokenEnum.按时间段上报人数统计);
let day = moment(new Date()).format("YYYY-MM-DD");
body["conditions"] = {"rq": day};
let highIncidenceSourceData:any = await post(getSecondPhaseUrl(healthEnum.按时间段上报人数统计), body, headers);
// let highIncidenceSourceData = await getInterfaceByInterfaceName("按时间段上报人数统计", body, headers);
console.log("健康数据" + JSON.stringify(highIncidenceSourceData));
let highIncidenceSource:any = highIncidenceSourceData || defaultConf.HighSymptomTimeDefault;
if (!highIncidenceSource.data || highIncidenceSource.data.length == 0) highIncidenceSource = defaultConf.HighSymptomTimeDefault;
let highIncidenceData = [];
highIncidenceSource["data"].forEach(item => {
let {xs, rsnum} = item;
xs = xs+":00";
highIncidenceData.push({key: xs, value: rsnum});
});
return highIncidenceData;
}
export async function getSymptomRanking() {
let {body, headers} = getParameter(healthEnum.按原因人数统计, healthTokenEnum.按原因人数统计);
let symptomTypesSourceData:any = await post(getSecondPhaseUrl(healthEnum.按原因人数统计), body, headers);
// let symptomTypesSourceData = await getInterfaceByInterfaceName("按原因人数统计", body, headers);
let symptomTypesSource:any = symptomTypesSourceData || defaultConf.SymptomTypeAnalysisDefault;
let symptomTypes = {};
symptomTypesSource["data"].forEach(item => {
let {yy, xss} = item;
symptomTypes[yy] = xss;
});
symptomTypesSource["data"].sort((a, b) => {
return b.xss-a.xss;
});
let symptomRanking = {};
symptomTypesSource["data"].forEach(item => {
let {yy, xss} = item;
symptomRanking[yy] = xss;
});
return {symptomTypes, symptomRanking};
}
export async function getNotice() {
let {body, headers} = getParameter(healthEnum.自定义公告, healthTokenEnum.自定义公告);
let noticeSourceData:any = await post(getSecondPhaseUrl(healthEnum.自定义公告), body, headers);
// let noticeSourceData = await getInterfaceByInterfaceName("自定义公告", body, headers);
let noticeSource:any = noticeSourceData || defaultConf.NoticeDefault;
let notice = noticeSource["data"][0]["gg"];
return notice;
}
export async function getHealthRate() {
let {body, headers} = getParameter(healthEnum.健康率, healthTokenEnum.健康率);
let healthRateSourceData:any = await post(getSecondPhaseUrl(healthEnum.健康率), body, headers);
// let healthRateSourceData = await getInterfaceByInterfaceName("健康率", body, headers);
let healthRateSource:any = healthRateSourceData || defaultConf.HealthRateDefault;
let healthRate = {"健康率": parseInt(healthRateSource["data"][0]["jkl"]) + "%"};
return healthRate;
}
// export function getHistoricalHealthData() {
// let {body, headers} = getParameter(healthEnum.按月统计上报人数, healthTokenEnum.按月统计上报人数);
// let healthRateType = ["幼儿园","托育机构","早教中心","托儿所","小学","初级中学","高级中学","中职校","完中","九年一贯制","十年一贯制","十二年一贯制","其他"];
// let historicalHealthData = {};
// for(let type = 0; type < healthRateType.length; type++) {
// body["conditions"] = {"xxlx": healthRateType[type]};
// // let historicalHealthSourceData:any = await post(getSecondPhaseUrl(healthEnum.按月统计上报人数), body, headers);
// let historicalHealthSourceData = await getInterfaceByInterfaceName("按月统计上报人数", body, headers);
// let historicalHealthDataList = [];
// historicalHealthSourceData["data"].forEach( item => {
// let {month, xss} = item;
// historicalHealthDataList.push({key: month, value: xss});
// })
// let historicalHealthSource:any = historicalHealthDataList || defaultConf.HistoricalHealthDataDefault;
// historicalHealthData[healthRateType[type]] = {unit: "", dataInfo:historicalHealthSource}
// }
// return historicalHealthData;
// }
export async function getHistoricalHealthData() {
let {body, headers} = getParameter(healthEnum.按月统计上报人数, healthTokenEnum.按月统计上报人数);
let healthRateType = ["幼儿园","托育机构","早教中心","托儿所","小学","初级中学","高级中学","中职校","完中","九年一贯制","十年一贯制","十二年一贯制","其他"];
let historicalHealthData = {};
for(let type = 0; type < healthRateType.length; type++) {
body["conditions"] = {"xxlx": healthRateType[type]};
let historicalHealthSourceData:any = await post(getSecondPhaseUrl(healthEnum.按月统计上报人数), body, headers);
// let historicalHealthSourceData = await getInterfaceByInterfaceName("按月统计上报人数", body, headers);
let historicalHealthSource:any = historicalHealthSourceData || defaultConf.HistoricalHealthDataDefault;
let historicalHealthDataList = [];
historicalHealthSource["data"].forEach( item => {
let {month, xss} = item;
historicalHealthDataList.push({key: month, value: xss});
})
historicalHealthData[healthRateType[type]] = {unit: "", dataInfo:historicalHealthDataList}
}
return historicalHealthData;
}
......@@ -3,7 +3,7 @@ import { getUrl, workstationEnum } from "../url";
//上海市青少年科学创新实践工作站
export async function getWorkstationData() {
export function getWorkstationData() {
let body = {};
// let zsqk = await post(getUrl(healthEnum.招生情况), body, {});
let 招生情况 = [{mc:"学生数量", sl:"6214"},{mc:"bjs", sl:"3671"}]
......
......@@ -3,7 +3,7 @@ import { getUrl, workstationEnum } from "../url";
//上海市青少年科学创新实践工作站
export async function getWorkstationPopupData(id) {
export function getWorkstationPopupData(id) {
let body = {};
// let zsqk = await post(getUrl(healthEnum.招生情况), body, {});
let 招生情况 = [{mc:"学生数量", sl:"6214"},{mc:"bjs", sl:"3671"}]
......
......@@ -30,15 +30,44 @@ export enum urlEnum {
};
export enum healthEnum {
学生数班级数="1342551525711858104",
不同年级上报学生数按日="1342555266359937472",
不同年级上报学生数按月="1346636836747266576",
不同学校上报学生数="1342556870501910984",
不同症状上报学生数="1342803642723781086",
不同行政区上报学生数="1342804920948410855",
数据统计="1342805548139465199",
今日上报列表="1342805887678859772",
学生数班级数 = "1342551525711858104",
不同年级上报学生数按日 = "1342555266359937472",
不同年级上报学生数按月 = "1346636836747266576",
不同学校上报学生数 = "1342556870501910984",
不同症状上报学生数 = "1342803642723781086",
不同行政区上报学生数 = "1342804920948410855",
数据统计 = "1342805548139465199",
今日上报列表 = "1342805887678859772",
不同学校上报情况信息中间地图 = "1347349795650849304",
按时间段上报人数统计 = "1347422862296140339",
按原因人数统计 = "1347422986539813431",
更新时间 = "1347423075057453626",
自定义公告 = "1347423245371361852",
各类症状预警值 = "1347426681171135056",
按月统计上报人数 = "1347441899216489062",
健康率 = "1347441938151164521",
}
export enum healthTokenEnum {
学生数班级数 = "9c5e468b-eca1-48a8-a1fa-5215db2c3cc5",
不同年级上报学生数按日 = "75b4c0fb-fb5c-4c09-bf4e-81fccb7bac13",
不同年级上报学生数按月 = "a8b273f3-55d4-406f-9dec-006fadfdd9b4",
不同学校上报学生数 = "9a853baf-0b20-49d8-8871-ca0e1c00a697",
不同症状上报学生数 = "9a3c6f75-0763-425a-a727-fef819ce6dad",
不同行政区上报学生数 = "5459a6ae-1ebe-4f50-b19f-bc6bdd1ad326",
数据统计 = "32f0d74d-de4f-4f93-9e3f-74c5add0c511",
今日上报列表 = "4cda7fa0-73b6-47f8-b82b-64992702ed70",
不同学校上报情况信息中间地图 = "eecde9af-c00c-4fe3-8e92-798c713715dd",
按时间段上报人数统计 = "6bb5f5b1-5996-45cf-b425-f3a92578cda8",
按原因人数统计 = "0742d6bb-e6b9-4374-aef2-16a5292067df",
更新时间 = "d2c4c036-59d8-4db0-be58-d8cc422105b5",
自定义公告 = "fdadaecb-a78f-4585-831c-a88f06ff73df",
各类症状预警值 = "aa6bdc77-7bc6-4443-8b60-d60f15990f70",
按月统计上报人数 = "971db844-6982-4e2f-a56d-19f5575a8bc6",
健康率 = "01a6f925-5ed1-412e-baa4-7e11574b3d84",
}
......
import { initInterfaceData, post } from "./data/interface/cronJob";
import { initQueueData } from "./data/interface/queueData";
import * as healthInformation from "./data/interface/secondPhase/healthInformation";
import { initUser } from "./data/user/user";
import { httpServer } from "./net/http_server";
import { getPort } from "./serverConfig";
......@@ -11,9 +13,29 @@ async function lanuch() {
return;
}
initUser();
test();
httpServer.createServer(getPort());
}
}
function test() {
// healthInformation.getStuData();
// getDayStuData();
// getMonthStuData();
// getDifferentSchoolStuNum();
// getDefferentSymptomsTypeList();
// getDifferentDistrictStuNum();
// getDataStatistics();
// getDeadline();
// getTodayReportList();
// getMapDistrictServiceData();
// getHighIncidenceData();
// getSymptomRanking();
// getNotice();
// getHealthRate();
// getHistoricalHealthData();
}
lanuch();
......@@ -28,8 +28,6 @@ export class httpServer {
}
});
httpServer.use(express.static('public') );
httpServer.use(bodyParser.json({limit:"10kb"}));
httpServer.use(compression())
......
......@@ -11,35 +11,35 @@ import * as workstationBiz from '../biz/secondPhase/workstation';
import * as workstationPopupBiz from '../biz/secondPhase/workstationPopup';
export function setRouter(httpServer){
httpServer.get('/sjzltx', asyncHandler(sjzltxBiz.getData));
httpServer.post('/sjzltx', asyncHandler(sjzltxBiz.getData));
httpServer.get('/interface/sjzltx', asyncHandler(sjzltxBiz.getData));
httpServer.post('/interface/sjzltx', asyncHandler(sjzltxBiz.getData));
httpServer.get('/ztyxts', asyncHandler(ztyxtsBiz.getData));
httpServer.post('/ztyxts', asyncHandler(ztyxtsBiz.getData));
httpServer.get('/interface/ztyxts', asyncHandler(ztyxtsBiz.getData));
httpServer.post('/interface/ztyxts', asyncHandler(ztyxtsBiz.getData));
httpServer.get('/zyhdbz', asyncHandler(zyhdbzBiz.getData));
httpServer.post('/zyhdbz', asyncHandler(zyhdbzBiz.getData));
httpServer.get('/interface/zyhdbz', asyncHandler(zyhdbzBiz.getData));
httpServer.post('/interface/zyhdbz', asyncHandler(zyhdbzBiz.getData));
httpServer.get('/zyhdbzpop', asyncHandler(zyhdbzBiz.getPopData));
httpServer.post('/zyhdbzpop', asyncHandler(zyhdbzBiz.getPopData));
httpServer.get('/interface/zyhdbzpop', asyncHandler(zyhdbzBiz.getPopData));
httpServer.post('/interface/zyhdbzpop', asyncHandler(zyhdbzBiz.getPopData));
// //分配权限
httpServer.post('/permission/getlist', checkToken, adminPermission, asyncHandler(userBiz.permissionList));
httpServer.post('/permission/updatepermission',checkToken, adminPermission, asyncHandler(userBiz.updatePermissions));
httpServer.post('/interface/permission/getlist', checkToken, adminPermission, asyncHandler(userBiz.permissionList));
httpServer.post('/interface/permission/updatepermission',checkToken, adminPermission, asyncHandler(userBiz.updatePermissions));
//==二级页面
httpServer.post('/gettoken', asyncHandler(userBiz.getUserToken));
httpServer.post('/permission/checkpage', checkToken, pagePermission, asyncHandler(userBiz.checkPermissionForPage) );
httpServer.post('/permission/checkadmin', checkToken, pagePermission, asyncHandler(userBiz.checkPermissionForAdmin) );
httpServer.post('/permission/checkhomepage', checkToken, asyncHandler(userBiz.checkPermissionForHomePage) );
httpServer.post('/interface/gettoken', asyncHandler(userBiz.getUserToken));
httpServer.post('/interface/permission/checkpage', checkToken, pagePermission, asyncHandler(userBiz.checkPermissionForPage) );
httpServer.post('/interface/permission/checkadmin', checkToken, pagePermission, asyncHandler(userBiz.checkPermissionForAdmin) );
httpServer.post('/interface/permission/checkhomepage', checkToken, asyncHandler(userBiz.checkPermissionForHomePage) );
//二期
httpServer.get('/secondPhase/gradehealth', asyncHandler(healthBiz.getData));
httpServer.get('/secondPhase/workstation', asyncHandler(workstationBiz.getData));
httpServer.get('/secondPhase/workstation/popup', asyncHandler(workstationPopupBiz.getData));
httpServer.get('/interface/secondPhase/gradehealth', checkToken, adminPermission, asyncHandler(healthBiz.getData));
httpServer.get('/interface/secondPhase/workstation', checkToken, adminPermission, asyncHandler(workstationBiz.getData));
httpServer.get('/interface/secondPhase/workstation/popup', checkToken, adminPermission, asyncHandler(workstationPopupBiz.getData));
httpServer.post('/secondPhase/gradehealth', asyncHandler(healthBiz.getData));
httpServer.post('/secondPhase/workstation', asyncHandler(workstationBiz.getData));
httpServer.post('/secondPhase/workstation/popup', asyncHandler(workstationPopupBiz.getData));
httpServer.post('/interface/secondPhase/gradehealth', asyncHandler(healthBiz.getData));
httpServer.post('/interface/secondPhase/workstation', checkToken, adminPermission, asyncHandler(workstationBiz.getData));
httpServer.post('/interface/secondPhase/workstation/popup', checkToken, adminPermission, asyncHandler(workstationPopupBiz.getData));
}
\ No newline at end of file
//端口
export function getPort() : number {
return Number(process.env.PORT) || Number(process.argv[3]) || 30024;//测试环境7474
return Number(process.env.PORT) || Number(process.argv[3]) || 30026;//测试环境30024
}
// sit 测试环境 prod 生产环境 dem 演示环境(测试数据,前端无密码访问)
......@@ -19,8 +19,18 @@ export let requestConfig = {
//统一认证信息
export const uacInfomation = {
getTokenUrl:'https://account.shsunshine.org/connect/token',
refreshTokenUrl:"https://account.shsunshine.org/connect/token",
refreshTokenUrl:"https://account.shsunshine.org/connect/token" ,
getUserInfoUrl:"https://account.shsunshine.org/connect/userinfo",
client_id:'dpzs_client',
client_secret:'R5KpJGxN98o$up'
}
export let healthConfig = {
url:'http://172.22.235.5:28080/dataengine-center-oneservice/list/',
appKey:"200000085",
// account:"man_001", //yujc
// execType:3,
env:"PROD",
// accept:"application/json; charset=utf-8"
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment